
android
文章平均质量分 53
TonyJiang08
如果有问题咨询,可以发邮件给我(tony.jiang81@gmail.com)。
展开
-
andriod手机添加访问控制linux
插入连接有android手机的usb数据线在终端输入lsusb,比较两步中usb设备ID的不同,找出手机的ID在/etc/udev/rules.d/文件夹下创建50-android.rules文件在规则文件中添加手机ID打开50-android.rules文件,添加信息SUBSYSTEM=="usb",SYSFS{idVendor}=="19d2", M转载 2015-05-22 17:27:17 · 1137 阅读 · 0 评论 -
StrictMode检查android开发违反策略的方法
最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些不规范和不好的代码。 StrictMode有多种不同的策略,每一种策转载 2015-03-09 16:39:53 · 1294 阅读 · 0 评论 -
防止android应用程序无响应ANR(Application Not Responding)
在android中应用被单个线程操作:主线程,或者叫做UI线程。一:什么是ANRANR:Application Not Responding,即应用无响应 二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTime原创 2015-03-09 11:03:52 · 17378 阅读 · 0 评论 -
Android中Services之异步IntentService
IntentService:异步处理服务,新开一个线程:handlerThread在线程中发消息,然后接受处理完成后,会清理线程,并且关掉服务。IntentService有以下特点:(1) 它创建了一个独立的工作线程来处理所有的通过onStartCommand()传递给服务的intents。(2) 创建了一个工作队列,来逐个发送intent给onHandleIntent转载 2015-03-26 17:21:15 · 688 阅读 · 0 评论 -
android的HandlerThread的使用
之前研究过handler 和 looper 消息队列,不过android里的handler不是另外开启线程来执行的,还是在主UI线程中,如果想另启线程的话需要用到HandlerThread来实现。在使用HandlerThread的时候需要实现CallBack接口以重写handlerMessage方法,在handlerMessage方法中来处理自己的逻辑。下来给出一个小例子程序。layout转载 2015-03-26 17:16:47 · 680 阅读 · 0 评论 -
android数据的持久化Shared Preferences
Basically there are some ways you can store data in Android :Shared Preferences: Prrimitive data storage (boolean Strings, ints etc..).Internal Storage: Device memory storage.External Storag原创 2015-03-16 15:37:45 · 784 阅读 · 0 评论 -
Android WebView J Should not happen: no rect-based-test nodes found
Use this in your class that extends WebView:public class MYWebView extends WebView { public MYWebView(Context context) { super(context); // TODO Auto-generated constructor stub }原创 2015-03-16 13:23:32 · 1570 阅读 · 0 评论 -
HandlerThread的使用
今天我们一起来学习下一个Android中比较简单的类HandlerThread,虽然它的初始化有点小麻烦。介绍首先我们来看看为什么我们要使用HandlerThread?在我们的应用程序当中为了实现同时完成多个任务,所以我们会在应用程序当中创建多个线程。为了让多个线程之间能够方便的通信,我们会使用Handler实现线程间的通信。下面我们看看如何在线程当中实例化Handler。转载 2015-03-26 16:22:44 · 569 阅读 · 0 评论 -
Android的Message机制(简单小结)
message也可以用作跟handler一样的传递消息的方法1.初始化Messager的时候传入handler Messenger messenger = new Messenger(handler);intent.putExtra("MESSENGER", messenger);intent.putExtra("URL", "http://examp原创 2015-03-16 13:23:52 · 612 阅读 · 0 评论 -
在非UI线程中调用ProgressBar的setProgress函数,刷新进度条
class Task implements Runnable { @Override public void run() { for (int i = 0; i <= 10; i++) { final int value = i; try { Thread.sleep(1000); } catch (InterruptedException e) {原创 2015-03-16 15:52:54 · 6739 阅读 · 0 评论 -
AsyncTask使用的要点知识
在android开发中执行异步操作有handler和asyncTask两种方法,使用handler要比asyncTask繁琐一些,现在我们来接受如何使用asyncTask在使用AsyncTask做异步任务的时候必须要遵循的原则:AsyncTask类必须在UI Thread当中加载,在Android Jelly_Bean版本后这些都是自动完成的AsyncTask的对象必须在UI原创 2015-03-10 11:01:26 · 702 阅读 · 0 评论 -
android开发中listview的使用
1.直接在layout中声明listview2.直接使用ListActivity的子类这两种方法都可以使用listview先定义listview中定义item <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wid原创 2015-03-17 17:06:48 · 875 阅读 · 0 评论 -
android中invalidate函数的原理
invalidate主要给需要重绘的视图添加DIRTY标记,并通过和父视图的矩形运算求得真正需要绘制的区域,并保存在ViewRoot中的mDirty变量中,最后调用scheduleTraversals发起重绘请求,scheduleTraversals会发送一个异步消息,最终调用performTraversals()执行重绘,performTraversals()的具体过程以后再分析。转载 2015-03-09 17:26:48 · 1685 阅读 · 0 评论 -
fragment的使用
1.可以通过不同的layout文件来实现在不同尺寸大小的屏幕上使用。2.通过依赖注入方式来实现不同fragment的解除依赖,比如定义一个onbuttonclick接口。原创 2015-04-13 22:38:31 · 570 阅读 · 0 评论 -
android中的notificatio
先获得NotificationManager,然后通过PendingIntent 发出nofitication,在putextr里面把想通知的事情在里面说清楚,有4中notification1、sendBasicNotification2、sendBigTextStyleNotification3、sendBigPictureStyleNotification4、sendInbox原创 2015-03-18 19:41:24 · 989 阅读 · 0 评论 -
android的broadcast receiver的使用
public class AlarmManagerBroadcastReceiver extends BroadcastReceiver {final public static String ONE_TIME = "onetime";@Overridepublic void onReceive(Context context, Intent intent) {原创 2015-03-18 13:40:09 · 703 阅读 · 0 评论 -
handle处理主线程消息的两种方法
1.创建handler抽象类,实现handleMessage方法。Handler myHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case TestHandle原创 2015-03-23 22:29:15 · 1852 阅读 · 0 评论 -
Android HandlerThread 的使用及其Demo
今天我们一起来学习下一个Android中比较简单的类HandlerThread,虽然它的初始化有点小麻烦。介绍首先我们来看看为什么我们要使用HandlerThread?在我们的应用程序当中为了实现同时完成多个任务,所以我们会在应用程序当中创建多个线程。为了让多个线程之间能够方便的通信,我们会使用Handler实现线程间的通信。下面我们看看如何在线程当中实例化Handler。转载 2015-03-13 14:33:42 · 574 阅读 · 0 评论 -
LayoutInflater作用及使用
作用: 1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素. 方法: Android里面想要创建一个画面的时候, 初学一般都是新建一个类, 继承Activity基类, 然后在onCreate里面使用setCo转载 2015-03-12 17:09:01 · 499 阅读 · 0 评论 -
android notification的支持
做软件这么多年,感觉中国和国外资料的巨大差异,决定在文档中多用英文,以方便自己看英文资料APendingIntentis simply a holder for an intent and target action.android的通知有4个可选参数:JAn icon: to display in the status bar.JOptional ticker原创 2015-03-11 17:38:42 · 784 阅读 · 0 评论 -
android的调试信息
Android 的调试信息分为五类: VERBOSE 类型调试信息,verbose啰嗦的意思 DEBUG 类型调试信息, debug调试信息 INFO 类型调试信息, 一般提示性的消息information WARN 类型调试信息,warning警告类型信息 ERROR 类型调试信息,错误信息 Android Log提供添加转载 2015-03-10 17:02:54 · 848 阅读 · 0 评论 -
android的资源限定符的使用
1. Screenorientation屏幕朝向(port纵向,land横向)。2.Screen pixel density屏幕像素密度(ldpi, mdpi, hdpi, xhdpi, nodpi)3.Screen size(small, normal, large, xlarge)4.smallest Width, available width, available height原创 2015-03-10 17:02:41 · 5876 阅读 · 0 评论 -
android中的handler的作用
最近想做个android的知识总结,把近2-3年来的android开发知识写写,分享给大家,也好让自己更深刻的理解android开发android中的handler是一个很总要的知识,可以说android开发基本上避免不了handler的handler的作用基本上可以概括为Android提供了一个异步的消息回调机制Handler, 它负责发送消息和处理线程消息队列中的消息及run原创 2015-03-09 18:28:11 · 849 阅读 · 0 评论 -
android当中SQLite的使用
继承类SQLiteOpenHelper,重载 public DataBaseWrapper(Context context) {@Overridepublic void onCreate(SQLiteDatabase db) {@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion,原创 2015-03-16 15:15:15 · 634 阅读 · 0 评论 -
android的service开发
Service是Android中四大组件之一,在Android开发中起到非常重要的作用,先来看一下官方对Service的定义:A Service is an application component that can perform long-running operations in the background and does not provide a user interf转载 2015-03-19 18:03:43 · 703 阅读 · 0 评论 -
安卓系统里启动过程和应用进程
在Android里,进程和程序是两回事,程序可以一直保留在系统里,但是没有任何进程在后台运行,也不消耗任何系统资源。所有的程序保留在内存中,这样可以更快的启动回到它之前的状态。当你的内存用完了,系统会自动帮你杀掉不用的应用或任务。每一个Android应用都是以一个进程的方式运行的,其生命周期不是有自身控制,而是由系统根据运行的应用的一些特征来决定。 Android在进程活动停转载 2015-01-27 17:03:53 · 1025 阅读 · 0 评论 -
android应用程序的安装方式与原理
android应用程序的安装方式与原理四种安装方式:1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。 应用安装的流转载 2015-01-27 17:09:11 · 782 阅读 · 0 评论 -
android的安装过程
Android应用安装有如下四种方式1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。 下载好的Android apk, 在安装过程中,其中文件内容是这样处理的:1. 先把转载 2014-11-06 10:14:05 · 719 阅读 · 0 评论 -
简单介绍如何应用DDMS协助开发Android Apps
http://www.cnblogs.com/wikity/archive/2011/12/17/2291357.html简单介绍如何应用DDMS协助开发Android Apps简单介绍如何应用DDMS协助开发Android AppsDDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运转载 2014-11-05 17:19:53 · 809 阅读 · 0 评论 -
ADB和DDMS简介
源文地址:http://blog.youkuaiyun.com/zysee/archive/2010/08/05/5791270.aspx ADB是一个CS结构的程序,由三部分组成。通过它们,可以管理Android设备的状态。 1、Client端Client端运行在PC上,可以由ADT插件、DDMS、Shell命令等方式调用。2、Daemon端转载 2014-11-05 16:55:54 · 865 阅读 · 0 评论 -
Android apk 的安装过程
Android apk 的安装过程 Android应用安装有如下四种方式1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由packageinstaller.apk应用处理安装及卸转载 2014-11-05 16:46:11 · 722 阅读 · 0 评论 -
建立android的AIDL服务的过程
建立AIDL服务的步骤:建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下:(1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。详细介绍见后面实例的内容。(2)如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。(3)建立一个服务类(Serv原创 2014-11-20 20:50:53 · 631 阅读 · 0 评论 -
android的broadcast和onreceiver
发送广播时:Intent intent = new Intent(BROADCAST_COUNTER_ACTION); intent.putExtra(COUNTER_VALUE, counter); context.sendBroadcast(intent); onReceive(Context cont转载 2014-11-20 16:15:34 · 1940 阅读 · 0 评论 -
Android权限之二packages.xml解析
/data/system/packages.xml这个文件由PackageManagerService.java生成,里面记录了系统当中安装的APK的所有属性,权限等信息。当系统中的APK安装、删除、升级时,文件就会被更新。 标签定义了目前系统中定义的所有权限。主要分为两类:系统定义的(package属性为android)和APK定义的(package属性为APK的包名)。转载 2014-11-20 15:28:45 · 818 阅读 · 0 评论 -
查看android进程信息和依赖的库信息
打开adb shell,直接ps命令如果查看某特定进程,比如《圣火英雄传》,用grep过滤各列参数意义:USER 进程当前用户;PID Process ID,进程ID;PPID Process Parent ID,进程的父进程ID;VSIZE Virtual Size,进程的虚拟内存大小;RSS Resident Set转载 2014-12-02 10:26:19 · 2862 阅读 · 0 评论 -
Android的系统服务一览
System_Server进程运行在system server进程中的服务比较多,这是整个android框架的基础 Native服务SurfaceFlinger 这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数据(surface)合成到一个物理窗口中显示(framebuffer)的服务程序 Java服务:这部分的服务大部分都有一个转载 2015-01-27 17:51:43 · 623 阅读 · 0 评论 -
android开发中控件大小和字体大小的选择
1.dp:在控件边距大小的选择中选择dp(density-independent pixel),这样系统边距就是像素密度无关,在设置边距、内边距或者任何不打算按像素值指定尺寸的情况下,通常都使用dp这种单位。2.sp:scale-independent pixel, 意为缩放无关像素,它是一种与密度无关的像素,这种像素会受用户偏好设置的影响,通常我们会使用sp来设置屏幕上的字体大小。3.p原创 2015-01-28 14:04:48 · 5344 阅读 · 0 评论 -
android中service得编程
android的两种启动方式(还有混合模式)一种是使用context.startService()这种方式启动的service,这种方式相当于重新为service启动了一个主线程,即时启动它的另外一个主线程不运行,也不影响这个线程的运行,但是这样方式启动的service不持有这个service的句柄,所以通信只能借助系统工具,比如broadcast,这种方式必须显示的结束自己(St原创 2015-03-25 22:44:02 · 608 阅读 · 0 评论 -
ContentResolver
这个类主要是Android用来实现应用程序之间数据共享的 一个应用程序可以将自己的数据完全暴露出去,外界更本看不到,也不用看到这个应用程序暴露的数据是如何存储的,或者是使用数据库还是使用文件,还是通过网上获得,这些一切都不重要,重要的是外界可以通过这一套标准及统一的接口和这个程序里的数据打交道,例如:添加(insert)、删除(delete)、查询(query)、修改(update转载 2015-03-15 22:01:26 · 560 阅读 · 0 评论 -
mars视频的潦草总结
1.dp:control component define2.sp:text space define3.setListener(checkbox, radiobox)4.paddingTop, marginLeft5.@string/app_name6.setContextView7.android:id='@+id/textView' R.id.textView8.原创 2015-02-27 22:54:32 · 635 阅读 · 0 评论