android学习
Shane-Lau
移动客户端开发者
展开
-
0000eclipse关键快捷键
常用快捷键ctrl + shift + o :导包ctrl + shift + t :快速查找某个类ctrl + o :在当前类中,快速找到某个方法总而言之,ctrl + shift + t是在整个工程文件当中快速找到想要找到的类。ctrl + o是在一个类当中快速找到某个方法ctrl + k :在当前类中,向下查找某个字符串ctrl + shift + k :在当前类中,向上查找某个字符原创 2016-03-16 12:10:55 · 246 阅读 · 0 评论 -
android学习记录
android学习记录上面一种没有指定所属区域的(in type ‘Homeactivity’),则说明这种方法创建的method是在跟应用这个方法在同一个方法体内,即在同一个大括号内。在同一个方法体内,在用一个.java文件当中不同的方法。md5加密md5加密是不可逆的,在数学算法上保证安全。问题集合builder用处buffer用处原创 2016-03-16 12:22:44 · 158 阅读 · 0 评论 -
关于权限
关于权限缺少权限一般存在三种表现: 直接崩溃,并且提示安全错误。黄色日志,不会崩溃,只是这个功能无法实现。报了安全错误,但是还是不会崩溃,并且不会提示在日志当中。原创 2016-03-16 12:23:32 · 199 阅读 · 0 评论 -
四大组件-广播接受者的特别之处
四大组件的区别ActivityServiceContent providerBroadcastReceiver广播接受者很特别:不仅可以在功能功能清单文件当中注册,还能在代码中注册。在清单文件当中注册 <receiver android:name="com.scau.mobilesafe.receiver.OutCallReceiver" > <intent-filter原创 2016-03-16 12:23:59 · 317 阅读 · 0 评论 -
编程思想总结
编程思想总结 public List<BlackNumberInfo> qureyAll() {// String result = "2"; List<BlackNumberInfo> result= new ArrayList<BlackNumberInfo>(); SQLiteDatabase db = helper.getWritableDatabase()原创 2016-03-16 12:24:21 · 236 阅读 · 0 评论 -
利用XML的序列化器来存储一些文本文件
文件保存很多时候都用用到xml来保存一些文本文件public static void smsBackup(Context context,String path) throws IllegalArgumentException, IllegalStateException, IOException{ContentResolver resolver = context.getContentReso原创 2016-03-16 12:25:08 · 343 阅读 · 0 评论 -
设置一个组件的点击事件
设置一个组件的点击事件cancle.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } });以上段代码为例进行分解如何设置点击事件:在类当中通过id查找将组件实例化后原创 2016-03-16 12:25:28 · 614 阅读 · 0 评论 -
android中的消息
android中的消息Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。MessageQueue:消息队列,用来存放Han原创 2016-03-16 12:25:49 · 289 阅读 · 1 评论 -
推送服务
推送所有需要客户端被动的去接收信息的功能模块,都可以采用推送服务 此时的客户端是没有请求网络的,只是被动的接收到消息关于推送的案例:当服务器中有数据更新,客户端想要显示更新的数据,但又不需要全部将服务器当中的数据下载下来,此时最好的办法可以是用服务器推送一个json数据,到客户端上进行解析,然后将新加载到服务器上的数据加载到客户端上面。当然如果要全部更新一遍,则直接下来进行页面刷新就好了,原创 2016-03-16 12:27:16 · 293 阅读 · 0 评论 -
服务类
服务种类本地服务启动的服务跟activity在同一进程远程服务启动的服务跟activity在不同的进程原创 2016-03-16 12:27:44 · 225 阅读 · 0 评论 -
提交新版本到服务器的流程
提交新版本到服务器的流程拷贝在VisualSVN Server中相关工程的URL 是为了与相关关联在一起,需要URL 将文件与服务器关联的提交文件的时候,自动生成的文件不要提交,主要就是bin和gen两个文件。 单击OK后就提交成功了。原创 2016-03-16 12:28:10 · 297 阅读 · 0 评论 -
【android】文件存储的途径
android中用于文件存储的途径从最常见最简单到用的最少的sharePreference文件输入/输出流SQLite数据库ContentProvidersharePreference获取SP存储的方法context,根据上下问来拿到SP对象拿到SP对象后在拿到Editor()对象用于编辑数据通过editor()方法进行编辑,是以Key- Value的方法存放数据;最后将数据提交。原创 2016-03-30 10:04:52 · 356 阅读 · 0 评论 -
【Java】【 Android】中的引用分类和使用
Java/android中的引用分类及其使用解析强应用(Strong reference)一般形式为A a = new A();这种类型,这是最常见的一种引用方法;强引用本身存储在栈内存当中,其存储指向内存中对象的地址;只有当a = null这种情况下,即没有任何强引用再指向这个对象,垃圾回收期才会考虑将这个对象收回。软引用(Soft Reference)以下一段实例来讲解软引用 im原创 2016-03-30 21:50:54 · 587 阅读 · 0 评论 -
自定义控件
当一个布局当中许多多次使用到一个类型的组合控件时,可以采用复制粘贴后修改信息的方法来实现。但是这个存在大量的代码冗余,拖慢应用的效率。此时就可以采用定义控件的方法来优化。将公共部分的代码提取出来放在一个布局文件当中;设置一个类继承一个相对布局(线性布局/帧布局也是可以的),在这个类中实行初始化页面的时候将其的父类定义成相对布局,并在这个类中实例化公共部分布局文件当中的组件出来将自定义组件的全原创 2016-03-12 12:40:24 · 360 阅读 · 0 评论 -
将自定义的布局设置给Dialog
在android应用中常常会出现使用弹窗的情况。此时用到的一个组件叫AlertDialog。但是往往AlertDialog中的内容很复杂,直接通过代码实现比较不容易,此时最好就是给这个弹窗设置一个自定义的View自定义一个布局文件将view设置给AlertDialog,并将其show出来代码如下1.布局文件<?xml version="1.0" encoding="utf-8"?><Line原创 2016-03-13 11:09:45 · 381 阅读 · 0 评论 -
Looper的实现原理
问题:Android中Looper的实现原理,为什么调用Looper.prepare()就在当前线程关联了一个Looper对象,它是如何实现的。题目解析: 涉及到Message在进程间的通信包括Message,Handler,Looper,MessagerQueue这个四个之间的关系;Handler,Looper,MessagerQueue与之对应的线程之间的关系;Looper的实现原理。原创 2016-03-24 18:17:19 · 1010 阅读 · 0 评论 -
Android中的UI刷新
UI线程在应用启动时,系统会创建一个主线程(main Thread),这个主线程负责向UI线程中分发事件,所以main Thread 也就UI线程所有刷新UI分为主线程刷新UI和子线程刷新UI主线程刷新UI系统不会为每个组件单独创建一个线程,在同一进程里,UI组件都会在UI线程当中被实例化,系统会给每一个组件的调用都从UI线程当中发出去。耗时操作一般不能放在UI线程中,否则很容易出现ANR原创 2016-03-24 20:51:11 · 374 阅读 · 0 评论 -
应用签名
签名模拟器上也是签名的应用,使用的默认签名,在计算机–C盘–用户–administrator–.android下有一个debug.keystore就是默认的签名文件默认的签名文件在不同的设备上签名是不一样的,所以不同设备上是不能安装同一款使用默认签名的应用。默认签名的应用无法发布到应用市场上去*要实现覆盖安装*签名一样包名一样上下文Activity.thisContext对话框是挂载原创 2016-03-16 12:22:16 · 300 阅读 · 0 评论 -
Android的四大组件
Android四大组件ActivityBroadcastReceieverServiceContentProvider*以上是Android的四大组件,使用这些组件一定要在配置文件mainfest.xml当中将其配置清楚广播现实: 电台通过播放广播,发布消息。买个收音机就能接收到消息了。Android 系统在运行的时候,会产生很多事件:开机,拨打电话,收发短信,电量改变,屏幕解锁原创 2016-03-16 12:14:02 · 352 阅读 · 0 评论 -
Android的生命周期
Android的生命周期Android生命周期包括七个过程onCreate()onStart()onResume()onPauseonStop()onDestroy()onRestart()分别介绍Android生命周期中七个部分是具体所做反应onCreate:activity被创建时,此方法被调用。只是在创建,并没有进入可见状态。onStart:activity进入可见状态,但原创 2016-03-16 12:12:38 · 259 阅读 · 0 评论 -
显式启动&隐式启动
activity的启动隐式启动:通过指定Action动作,指定启动的activity。显式启动:通过指定目标activity的类名,实现启动。显式和隐式的引用场景显式:启动同一项目下的activity。隐式:启动不同项目下的activity。如果隐式意图不止一个activity的intent——filter匹配,那么所有的activity所在的activity所在引用都会以对话框的形式显原创 2016-03-16 12:13:27 · 852 阅读 · 0 评论 -
定义广播接收者
如何接收广播定义广播接收者。 在src包中定义一个广播接收者,定义一个.class文件的同时,同时要在清单配置文件当中配置它。在清单文件当中配置一个广播接收者的基本过程:按照四大组件之一的 其中在定义name和action原创 2016-03-16 12:14:32 · 379 阅读 · 0 评论 -
有序&无序广播++创建广播的全过程记录
两种广播无序广播接收数据没有先后顺序,没用设定各个反应的优先级别。有序广播是按照顺序逐层广播相关数据的。创建一个广播的全过程布局文件当中的设定在举报文件activity_main当中设定一个页面布局选项。比如说设定一个具有监听点击功能的button。设定长和宽,这是任何一个控件都必须要有的。设定控件上的文本显示内容。设定点击事件:onClick要想让设定的控件具有监听单击事件的功能则必原创 2016-03-16 12:14:58 · 261 阅读 · 0 评论 -
0109内容提供者
内容提供者在Android当中自定义一个数据内容提供者的过程。该内容提供者都是与数据相关联的,要从数据库当中读取到相关的数据。所以首先要在src当中定义一个数据的java类。在Android当中定义一个数据类,一定要注意是该类继承于SQLiteOpenHelper类。并且在定义好的类当中要实现数据库当中的四个参数。具体如下为例:public MyOpenHelper(Context context原创 2016-03-16 12:15:22 · 218 阅读 · 0 评论 -
多媒体编程
多媒体概念多媒体是由文本,图片,音频,视频进行编程图片处理图片大小 = 图片的总像素 * 每个像素的大小单色:每个像素只能表示两种颜色,那么需要16个数字,也就是 长度1的二进制数字,那么每个像素占用1/8个字节。16色:每个像素可以表示16种颜色,那么需要16个数字,也就是0-15,0000-1111,长度为4的二进制数字,那么每个像素占用1/2个字节。256色:每个像素可以表示256原创 2016-03-16 12:15:46 · 248 阅读 · 0 评论 -
获取系统联系人信息
联系人数据库获取联系人先看联系人row_contacts:contact_id:联系人的ID拿到这个id去data表中查询属于该联系人的信息再看data表:表中保存着所有联系人的信息,每条信息占一行。data1:保存联系人信息的详细内容。row_contacts_id:指定每条信息指定联系人。mimetype_id:指定每个数据类型指定数据的类型,在Android当中已经指定了每条数据的所原创 2016-03-16 12:16:15 · 221 阅读 · 0 评论 -
学习笔记
代码组织结构根据业务逻辑划分根据功能模块划分https://PC/svn/MobileSafe/原创 2016-03-16 12:09:31 · 194 阅读 · 0 评论 -
获取系统联系人信息
联系人数据库获取联系人先看联系人row_contacts:contact_id:联系人的ID拿到这个id去data表中查询属于该联系人的信息再看data表:表中保存着所有联系人的信息,每条信息占一行。data1:保存联系人信息的详细内容。row_contacts_id:指定每条信息指定联系人。mimetype_id:指定每个数据类型指定数据的类型,在Android当中已经指定了每条数据的所原创 2016-03-16 12:17:23 · 166 阅读 · 0 评论 -
android程序编写规范化
android程序编写规范化Application Name:一般可以用中文,因为是写在eclipse里面,方便查看。Project Name:最好(一定)要用英文,因为后期要发布应用的时候要对编写好的程序进行签名。中文是无法签名发布的。目标版本和编译版本最好选择相同一个,以免发生因为版本不一样而导致的编译错误。在新建一个活动的时候,主活动不一定只能用MainActivity.java这种表原创 2016-03-16 12:17:48 · 325 阅读 · 0 评论 -
0115版本升级
创建子线程创建子线程一般有两种方法:方法一:new Thread(){ public void run() { } }.start();方法二:new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated原创 2016-03-16 12:18:16 · 217 阅读 · 0 评论 -
0115界面编写规范化
界面规范化编写将需要用到的图片放到工程的res-drawable-hdpid这个目录下在应用程序当中用到的图片一般都要保证高清无损,故最好是使用.png作为文件的存放格式。布局文件中,存在设置左有上下填充的代码,具体如下:android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/act原创 2016-03-16 12:18:35 · 176 阅读 · 0 评论 -
0116android错误总结
android 记录android的四大组件的使用,只要定义了的都要在在清单文件当中注册。重要的话说三遍千万不要去碰R文件千万不要去碰R文件千万不要去碰R文件血的教训.xml文件写错会导致R文件出错,用快捷键会导包的时候要注意导入的包,不能随意导入包,不然错了都不容易发现;要调用R文件当中自己写的id、string等组件,需要导入的是自己的自己的R类,而非android.R。一般直接原创 2016-03-16 12:18:52 · 236 阅读 · 0 评论 -
0116Runnable&&Thread的异同点&&Handler
Runnable && Thread的异同点相同点: 继承Thread类和实现Runnable都可以实现多线程,但在实际开发中大多使用Runnable方法。不同点: 表现形式:Runnable是实现接口,Thread是继承方法;实质区别:Runnable适合于资源共享。Runnable:1.定义Runnable方法public interface Runnable{ pu原创 2016-03-16 12:19:55 · 269 阅读 · 0 评论 -
学习记录
android学习记录导入外部包进入到项目内的时候,只需要在导入之后将其定义出来,并且注意导入包即可。在涉及到处理项目联网,图片处理,activity和数据库管理的时候,可以用到aFinal框架,这样可以减少自己去书写代码*原创 2016-03-16 12:20:38 · 191 阅读 · 0 评论 -
android中handler的使用
android中handler的使用首先先将handler定义出来private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) {//最好是通过提示写出来,不要自己码入,不然容易出错 };};handler和普通参数一样,需要用到其来控制消息队列,就要在程序刚刚原创 2016-03-16 12:19:29 · 209 阅读 · 0 评论 -
生命周期--保存&&恢复activity
android开发生命周期什么情况下需要保存activity的状态信息如何保存,是在android生命周期的哪个时间段保存。保存activity状态onSaveInstanceState:保存activity状态信息onRestoreInstanceState:恢复前一个activity的状态保存activity的状态用到的是栈,先进后出何时调用onSaveInstanceState和o原创 2016-03-29 10:48:50 · 455 阅读 · 0 评论