android复习
文章平均质量分 59
ytianhui
安卓开发者,精通传感器
展开
-
android的token
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌, 当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。用设备号/设备mac地址作为Token(推荐)客户端:客户端在登录的时候获取设备的设备号/mac地址,并将其作为参数传递到服务端。 服务端:服务端接收到该参数后,便用一个变量来接收同时转载 2016-04-27 13:00:08 · 587 阅读 · 0 评论 -
ANR和FC
1. ANR的定义(Application Not Responding)翻译过来就是应用程序无响应,此时正在运行的应用程序会变得很慢,反应不灵敏(一般来说,超过100毫秒的时间用户就会感知到阻滞感) 这三点,如果你在主线程里这样做,当然会使主线程阻塞啦。 1. 创建UI控件 2. 更新UI控件状态 3. 事件处理解决办法其实很简单,为每一个耗时的操作都开一个子线程,分别在子线程里执行,然后原创 2016-05-17 13:06:21 · 620 阅读 · 0 评论 -
使用WiFIManager自动连接指定Wifi
定义连接方法的classopen WiFiconfigure WiFiconnet WiFipublic class WifiAdmin { // 定义WifiManager对象 private WifiManager mWifiManager; // 定义WifiInfo对象 private WifiInfo mWifiInfo; public Wif转载 2016-05-06 13:39:05 · 916 阅读 · 0 评论 -
ORM, ormlite和sqlite
ORM它的英文全称是Object Relational Mapping,意思是对象关系映射;如果接触过Java EE开发的,一定知道Java Web开发就有一个类似的数据库映射框架——Hibernate。简单来说,就是我们定义一个实体类,利用这个框架,它可以帮我们吧这个实体映射到我们的数据库中。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO原创 2016-05-30 17:08:34 · 1343 阅读 · 0 评论 -
使用com.lorentzos.swipecards创建Tantan探探,tinder般的翻卡片效果
使用com.lorentzos.swipecards创建探探,tinder般的翻卡片效果效果是这个样子滴 导入方法首先在Gradle中添加一下代码dependencies { compile 'com.lorentzos.swipecards:library:X.X.X@aar'}在activity中添加一下代码public class MyActivity_Simple ext原创 2016-05-07 16:33:53 · 1536 阅读 · 1 评论 -
android的fragment
android的fragment采用fragment而不是activity进行应用的UI管理,可绕开Android系统activity规则的限制。1.使用布局fragment这种方式虽然简单但灵活性不够。 添加fragment到activity布局中,就等同于将fragment及其视图与activity的视图绑定在一起, 在activity的生命周期过程中,无法切换fragment视图。publ原创 2016-04-23 10:50:52 · 270 阅读 · 0 评论 -
asyncTask基础
asyncTask的参数Params 在执行 AsyncTask 时需要传入的参数,可用于在后台任务中使用。Progress 后台任务执行时,如果需要在界面上显示当前的进度,则使用这里指定的泛型作为 进度单位。Result 当任务执行完毕后,如果需要对结果进行返回,则使用这里指定的泛型作为返回值 类型。asyncTask需要重写的方法onPreExecute() 用于进行一些界面上原创 2016-04-23 10:52:43 · 238 阅读 · 0 评论 -
初学者常见错误,android的多线程更新UI
android的多线程方法1class MyThread extends Thread {}new MyThread().start();方法2class MyThread implements Runnable {}MyThread myThread = new MyThread();new Thread(myThread).start();非主线程更新UI主线程通过handler接收mes原创 2016-04-23 11:27:42 · 294 阅读 · 0 评论 -
android的广播机制简介
Android的广播1.有序广播 2.无序广播 3.接受系统广播 4.自定义广播 5.本地广播发送广播Intent intent = new Intent("com.example.broadcastbestpractice. FORCE_OFFLINE ");sendBroadcast(intent);接收广播的XML<manifest xmlns:android="http://sch原创 2016-04-23 10:46:43 · 260 阅读 · 0 评论 -
content Provider
content Provider使用内容提供器是 Android 实现跨程序共享数据的标准方式。 实现各个应用程序之间的(跨应用)数据共享, ContentProvider是怎么实现数据共享的呢?(1) URI URI:统一资源标识符,代表要操作的数据,可以用来标识每个ContentProvider,这样你就可以通过指定的URI找到想要的ContentProvider,从中获取或修改数据。原创 2016-04-23 14:38:17 · 257 阅读 · 0 评论 -
android的service基础
service继承于servicepublic class MyService extends Service { @Override public IBinder onBind(Intent intent) { return null; }}每一个服务都需要在 AndroidManifest.xml 文件中进行注册才能生效, 这是 Android 四大组原创 2016-04-23 13:12:03 · 203 阅读 · 0 评论 -
android使用butterknife InjectView和BindView
Butter Knife 是一个专注于 Android 系统 View 的注入框架, 让你从烦人的 findViewById 中解脱出来。同时还支持 View 的一些事件处理函数。 butterknife地址:https://github.com/JakeWharton/butterknife 以下介绍两种实现button的方法老版本方法(InjectView)在app目录下的build.gr原创 2016-05-06 12:10:36 · 2438 阅读 · 0 评论 -
android进程间通信
进程和线程进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。 线程就好比车间里的工人。一个进程可以包括多个线程。 操作系统的设计,因此可以归结为三点: (1)以多进程形式,允许多个任务同时运行; (2)以多线程形式,允许单个任务分成不同的部分运行; (3)提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和转载 2016-05-17 12:43:10 · 215 阅读 · 0 评论 -
Activity的view绘制流程
Activity的view绘制流程performTraversals 整个View树的绘图流程是在ViewRootImpl类的performTraversals()方法开始的private void performTraversals() { ...... //最外层的根视图的widthMeasureSpec和heightMeasureSpec由来转载 2016-05-17 10:07:10 · 421 阅读 · 0 评论 -
android的四大存储之一 SharedPreferences
SharedPreferences的基本概念:文件保存路径:/data/data/<包名>/shared_prefs目录下目录下生成了一个SP.xml文件 SharedPreferences的存储修改是通过Editor对象实现。 实现SharedPreferences存储的步骤如下: 1. 根据Context获取SharedPreferences对象 2. 利用edit()方法获取Edito原创 2016-04-27 14:11:06 · 261 阅读 · 0 评论 -
android GCM(消息推送)面向国内开发的话基本不用看了
GCM(Google Cloud Message for Android)Google发布的Android服务器推送(push)技术。 之前的C2DM(Android Cloud to Device Messaging)已与2012年6月26日被正式弃用, 使用GCM,需要申请开通Google APIGCM的网络机制不是很适合国内的网络。之前有人写过一篇文章讲为何微信导致移动的基站负载变高之类的原创 2016-04-27 14:14:05 · 1006 阅读 · 0 评论 -
ContentResolver和ContentProvider的关系
ContentProvider负责 组织应用程序的数据;向其他应用程序提供数据;ContentResolver则负责 获取ContentProvider提供的数据;修改/添加/删除更新数据等;ContentProvider 向外界提供数据Android提供了ContentProvider,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据完全暴露出去,而且Con原创 2016-04-27 14:41:13 · 1114 阅读 · 0 评论 -
使用Firebase介绍,附带聊天实现的功能code地址
什么是Firebase?firebase提供实时数据后端,可以只用JavaScript就能建立动态网站特点云服务,随时扩展,高性能,无需部署管理自己的服务器,数据库,大大减少工作量api简单,使用起来非常的方便,可大大减少代码量可通过网页对数据进行管理,很方便1. 注册首先需要注册一个Firebase账号(https://www.firebase.com/),可以得到一个地址(https:/原创 2016-05-11 13:18:31 · 2255 阅读 · 0 评论 -
android test review
Which of the following is not Content Provider?answer: Shared PreferencesAndroid系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。Which of the following statements are correct with reg原创 2016-05-03 14:31:25 · 419 阅读 · 0 评论 -
handler和looper的关系
在Android应用启动时,会默认有一个主线程(UI线程),在这个线程中会关联一个消息队列,所有的操作都会被封装成消息然后交给主线程来处理。 为了保证主线程不会主动退出,会将取消息的操作放在一个死循环中,这样程序就相当于一直在执行死循环,因此不会退出。 在应用启动时,会开启一个主线程(UI线程),并且启动消息循环,应用不停地从该消息队列中取出、处理消息达到程序运行的效果。 Looper对象封装转载 2016-05-16 09:55:44 · 639 阅读 · 0 评论 -
Activity和layout的关系,activity的启动模式
standard:每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置。singleTop:在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例singleTask:如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈singleInstance:会启用一个新的返回栈来管理这个活动原创 2016-04-20 09:35:43 · 2376 阅读 · 0 评论 -
参观slush asia(创业大会)的笔记
2016年5月13,14日在东京召开了slush Asia 技术发展方向new interface facebook vivamazon echoon demand manufacturingservice /work on Demand uber, upworklocation will not be important2025 predictions 10% of peopl原创 2016-05-16 09:14:41 · 445 阅读 · 0 评论 -
android的touch事件
基础知识所有的Touch事件都封装到MotionEvent里面事件处理包括三种情况,分别为: 传递—-dispatchTouchEvent()函数、拦截——onInterceptTouchEvent()函数、消费—-onTouchEvent()函数和OnTouchListener事件类型分为ACTION_DOWN, ACTION_UP, ACTION_MOVE, ACTION_POINT转载 2016-05-16 13:21:48 · 236 阅读 · 0 评论 -
android的动画
Android中的动画大致分为三种:逐帧动画,视图动画,属性动画。1.逐帧动画这个动画效果是最简单的,也是非常容易实现的,原理就是,在一个ImageView上不断的切换显示的图片(当然也不一定是图片),来达到动画的效果,很明显,这样的实现方式和动漫,电影的原理是一样的。 实现的过程是非常简单的,大致上是: 准备每一帧的图像(可以是图片,也可以是通过xml定义的图形)。 给ImageView设置转载 2016-05-16 13:52:11 · 216 阅读 · 0 评论 -
AsyncTask和Handler的区别
AsyncTask是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程。使用的优点:简单、快捷过程可控使用的缺点:在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来asyncTask和线程池Android 原生的 AsyncTask.java 是对线程原创 2016-05-17 09:13:06 · 497 阅读 · 0 评论 -
android的尺寸
Px:像素点 Pt:磅数 dp:是密度,无关像素(用于各种组件) sp:可伸缩像素(用于文字)转载 2016-04-20 09:42:38 · 291 阅读 · 0 评论