Welcome 微信登录

首页 / 操作系统 / Linux

Android 生命周期解析

Android 生命周期解析

每一个运行在Android平台的进程都位于一个栈中。使用一个位于前台的Activity时,托管该Activity的系统进程位于栈的顶端,而上一个进程(托管在前台运行的任何Activity的进程)下移一个位置。1.理解进程与活动之间的关系当Android平台认为需要回收资源时,它通过一系列的步骤处理进程(以及它们的托管活动),并根据一组简单的优先级决定杀死哪些进程。(1)托管前台Activity的进程优先级最高(2)托管可见但非前台Activity的进程优先...
Android Sqlite 数据库修复及数据导出

Android Sqlite 数据库修复及数据导出

在弄一个数据库修复的问题,就是sqlite的数据库打不开,但是数据库中还是有数据的,那么应该如何修复这个数据库呢?我的做法是:首先,需要导出数据库的脚本。我是通过Sqlite3.exe这个命令行工具实现的具体的操作如图所示:那么这个最重要的一步“生成SQL脚本”就完成了。然后,通过SQL Server 打开脚本文件,我用的SQL Server2005 打开的。在这个过程中我烦了一个错误,就是我把所有的脚本代码都考到Sqliteadmin里面,希望按照脚本代...
Android 字符串应用浅析

Android 字符串应用浅析

在写Android的程序过程中,总是会用到许许多多的字符串,在平时的程序实践中,我对字符串的应用有些个人的应用见解,如下:1.字符串的定义在我们需要引用字符串时,需要在strings.xml文件中定义一个相应的字符串名称,如果其他的地方需要用到相同的字符串,那么可以引用这个strings.xml中的字符串名称,例如要定义一个“开始时间”的字符串,那么就可以写成<string name=”start_time”>Start time</st...
Android Layout 之 RelativeLayout RelativeLayout.LayoutParams

Android Layout 之 RelativeLayout RelativeLayout.LayoutParams

使用 AbsoluteLayout 可以直接指定其子 View 的绝对位置, 这种布局方式虽然简单,但是不够灵活。比如在一个程序中,按钮2 位于 按钮1 的下方且和 按钮1 左对齐,我们可以使用指定两个按钮的绝对位置的方式布局,但是当布局完成后,由于某些原因,这两个按钮需要相左平移一些距离以便在父 View 右边留出一些空白区域,那么我们就需要同时修改 按钮1 和 按钮2 的 layout params。如果布局更复杂一些呢?这样“牵一发而动全身”的布局模...
Android图片大小调整动态实现方法

Android图片大小调整动态实现方法

Android操作系统中对于图片的操作我们在《Android图片浏览源码解读》文章中也有所介绍。不过对于图片的大小调整往往都局限于固定的调整。如何才能满足动态大小调整呢?我们在这里就为大家详细介绍有关Android图片大小调整的动态实现方法。昨天,动态获取图片资源获取的很爽啊,后来,换了一张png,128*128的,Run as android application,天哪,居然覆盖了我大半个屏幕,都不留一点情面给我展示了。。。。看来,必须要找个方法让图片...
Android文件管理器的源码实现

Android文件管理器的源码实现

1. Android文件管理器介绍android系统并不自带文件管理器,但是很多情况下,我们有诸如从SD中打开文件的需要,就必须借助三方开发的资源管理器,常用的有AndExplorer等。这种情况下发布后,用户还需要安装依赖的软件,非常麻烦。下面介绍在代码中实现资源管理器,只需要一百行左右的一个类即可以最常用的文件选择功能。2. 相关知识文件管理器一般以固定大小的对话框的方式出现,使用ListView作为文件目录的显示载体。点选目录测进入,点选文件则将所选...
Android中对大图的处理的实现和分析

Android中对大图的处理的实现和分析

在应用中实现图像变换相关的处理时,有时会遇到分配内存失败(OutOfMemoryError)的问题。比如我用N1拍照的分辨率是2500x1900,格式为jpg。使用Bitmap类将打开后,由于是从文件读取,它的属性被设为不能修改(mutable),如果想在大小不变的情况下修改它,只能使用createbitmap建立一个等大的可编辑的bitmap。同时打开两个大文件,就会出现内存不足的提示。使用bitmap类的copy方法,同样会出现这个问题,而使用opti...
简单的Android中C库调试方法

简单的Android中C库调试方法

1. 说明Android系统中调试Java非常容易,一般遇到错误都在logcat中打印出错时函数的调用关系,而C库中出错时只看到一些二进制信息,使用gdbserver调试环境搭建又比较复杂。下在介绍一个简单的调试库的方法,当然需要有so库的源代码2. 举例a) 错误信息如下,它表示了出错时的函数调用关系(下面调上面的)I/DEBUG ( 56): #03 pc 000008d8 /system/lib/libstdc++.soI/DEBUG ( 56): ...
Linux管道的一些细节

Linux管道的一些细节

读管道:1、进程从管道中读取数据时,进程被挂起直到数据被写进管道。(如果管道被两个进程共享,进程A关闭了读端,进程B读写都开启,B使用读端时,会一直等待B进程的写端的动作,而不会理会A的动作。)2、当所有的写者关闭了管道的写数据端时,试图从管道中读取数据的调用返回0,意味着文件结束。3、管道是一个队列。一个进程从管道中读取数据后,数据已经不存在了。如果两个进程都试图对同一个管道进行度操作,在一个读取一些之后,另一个进程读到的将是后面的内容。他们读到的数据必...
Linux Shell拷贝文件的安全方法

Linux Shell拷贝文件的安全方法

在Linux下拷贝大量文件,最好的办法就是将这些文件一起打包压缩,使用ssh传送到目的主机。红色的两种方式效果不错。 #!/bin/sh #copyway!! #无法保存硬链接的时间信息。会将硬链接当成普通文件拷贝,记录最新的时间 cp-Rp*/dest/dir#尽可能保存信息,但是,如果硬链接过多,使得缓存使用完,同样无法完成拷贝 cp-a*/dest/dir#使用“-”来传递压缩的文件,然后在指定目录解压缩。使用*会漏掉隐藏文件 tar-cvf-*|(...
Linux下C语言多线程网络通信简单聊天程序

Linux下C语言多线程网络通信简单聊天程序

功能描述:程序应用多线程技术,可是实现1对N进行网络通信聊天。但至今没想出合适的退出机制,除了用Ctr+C。出于演示目的,这里采用UNIX域协议(文件系统套接字),程序分为客户端和服务端。应用select函数来实现异步的读写操作。先说一下服务端:首先先创建套接字,然后绑定,接下进入一个无限循环,用accept函数,接受“连接”请求,然后调用创建线程函数,创造新的线程,进入下一个循环。这样每当有一个新的“连接”被接受都会创建一个新的线程,实现1对N的网络通信...
Windows到Linux——移植新浪微博开放平台客户端(C++)到Linux

Windows到Linux——移植新浪微博开放平台客户端(C++)到Linux

看微博这么火,也试试这新浪微博开放平台,发现给了C++版客户端,还给了测试例子,可是没有区分出Linux平台和Mac平台,就这么尝试下把这个客户端程序移植到Linux下运行看看。不过也不是完全盲目,还是看到人家给的SDK资源下有着Linux目录和Mac目录,说明应该再编写的时候也考虑到了平台的迁移。再看看代码很多地方对Win32、Wince有区分,但也没有那么完全(后来编译的时候发现的。)目前的情况是测试例子是能跑了,所需的库也有了,但是最初没有仔细看下代...
Android学习笔记---ImageButton

Android学习笔记---ImageButton

ImageButton用图片显示一个可以被用户按下和单击的按钮。默认情况下,ImageButton看起来和一般的Button没有什么区别。标准的Button将会在状态变化的时候,显示不同的背景颜色。ImageButton表面显示的图片通过XML属性 "Android:src"来定义,或者通过setImageResource(int)方法来设置。 想要去除标准按钮的背景图片,可以通过定义自己的背景图片,或者设置背景为透明。 如果想要在按钮的不同状态下显示不同...
Android学习笔记--播放MP3

Android学习笔记--播放MP3

继续Android课程的学习。主要学习了在Android平台下面播放MP3音乐的技巧。通过今天的学习,为后面开发应用过程中为应用程序添加背景音乐,以及开发音乐播放器打下基础。以下是我们从MediaPlayer类中得到的MediaPlayer对象的一个状态图:首先,我们打开Android开发文档Dev Guide标签,找到Audio and Video开发页。在该页中为我们详细介绍了使用类MediaPlayer播放音乐的方法。总结内容如下:播放文件类型:ra...
QT 列表类型控件(QListWidget等)的代理使用记录

QT 列表类型控件(QListWidget等)的代理使用记录

最近项目中经常使用QListView,QListWidget等列表类型的空间来做。刚开始时不太了解,现在已经搞得比较熟悉了,不过为了防止如果时间久了不看的话会忘,所以暂时把它写到这里。同时也是为了以后方便查看,当然若有需要了解的人,希望他看了后也得到点收获。具体的代码如下:#include "setupItemDelegate.h"#define ICON_PATH QString(qgetenv("PATH"))//static const int te...
<< 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 >>