我是一个android初学者,这是我在学习后的一些整理,希望对初学者们有一定的帮助,自己也正好留作纪念。漫漫求知路,大家一起加油!



一.五大页面布局:

1.线性布局:所有控件垂直或水平摆放
2.相对布局:控件可相对父控件或同级别控件摆放位置
3.帧布局 :前景和背景
4.绝对布局:相对于坐标点的布局
5.表格布局:每一行可放多少控件
二.自定义UI控件
1.自定义TextView
2.自定义Dialog
3.自定义组合控件
4.自定义SeekBar
5.更多

三:第三方框架


1.SwipeRefreshLayout 下拉刷新(需要下载support v4 19.1)


A.xml中<android.support.v4.widget.SwipeRefreshLayout
和普通控件一样设置属性 >


在里面可以放置任何一个控件,例如ListView,gridview等。


</android.support.v4.widget.SwipeRefreshLayout>

B.findViewById对刷新控件进行实例化
C.setColorScheme(最多4中颜色),设置刷新的颜色样式
D.设置OnRefreshListener监听事件,在事件中用handler延时发布
E.在监听中设置数据的更新等,然后setRefreshing(false)停止刷新

2.SlidingMenu 滑动式菜单栏
A.导入包SlidingMenu_library(需在同一路经)//需要删除原工程的supportV4.jar包
B.在Main实例化SlidingMenu对象sm
C.设置滑动模式(例:SlidingMenu.LEFT)
设置监听滑动触摸范围
设置阴影的颜色 ID(需要用dimen)
设置阴影的宽度 ID(需要用dimen)
设置menu全部打开时主界面与屏幕边框的距离
设置淡入淡出(true)
设置淡入淡出的值
绑定acticity并设置绑定模式
设置Mneu的layout(setMenu)
通过getMenu()获取Menu的Layout转换的View


四.四大组件
1.activity:
可通过设置action达到进程间通信
2.ContentProvider(内容提供者)
A.通过getContentResolver()实例化ContentResolver
B.传入源码写好的对应的Uri
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
C.调用内容解析者的query(查询)方法传入URI返回Cursor
D.使用Cursor获取想要的数据contacts.moveToNext()判断
contacts.getString(contacts.getColumnIndex("contact_id")
3.BroadCastReceiver(广播接受者)
注册方式:(1)注册表(2)java文件中
A.在JAVA中注册广播,传入一个广播接受者对象和一个IntentFilter(意图过滤器)
IntentFilter中添加需要的action(一般是系统写好的)
B.实例化BroadCastReceiver重写onReceive(Context ,Intent) 方法
C.通过Intent对象传入key获取广播时发送的值
D.用完后记得注销广播
4.Service(服务)
(一) 服务分为本地服务和远程服务(都需在清单文件(android Manifest.xml)注册)
(二) 服务开启的两种方式:startService(后台运行)和bindService(与acticity进行交互)
(三) 需要写一个类继承Service类(重写需要的方法)
(1)本地(bind)
A.新建类继承Service重写onBind(intent:为Activity跳转时传过来的)方法,
并返回Ibinder对象(默认返回为空)
B.写一个类继承Ibinder接口重写里面的方法
C.用bindService(intent对象 ,ServiceContent对象,操作选项绑定)绑定服务
D.在activity写一个内部类继承ServiceContent接口,重写两个方法
(a).onServiceConnected(ComponentName, IBinder )连接后调用
这里的IBinder 就是之前Service返回的IBinder
(b).onServiceDisconnected(ComponentName)异常中断后调用
(2)远程(bind)
A(提供服务).
(a)新建一XX接口将其后缀转换成aidl
(b)在Service中写内部类YY继承XX.Stub 重写xx接口的方法
(c)xml注册时为service添加一个action
B(交互服务).
(a).在一个新工程中建acticity
(b).新建和工程1同名的包,将aidl复制到包里
(c).在activity中新建Intent传入之前工程1的Service的action
(d).bindService()绑定服务
(e).绑定服务时传入的服务连接对象返回的 Ibinder就是XX.Stub对象
(f).调用xx.Stub.asInterface(IBinder)将其转换成aidl接口类型的对象
(g).调用对象的方法进行远程交互

五.四大存储方式
(1)sharedPerferences(轻量级存储,以键值存入 保存为xml)
A.getSharedPreferences("text",MODE_WORLD_WRITEABLE)实例化一个对象,第一个参数不填默认为类名作为文件名
B.通过getEdit()获取编辑器.
C.通过交数据将其保存在对应xml中

D.取出数据
通过sharedPerferences对象的get方法可取出数据
(2)File(文件存储)
A. new File(路径+文件扩展名)
B. file.exists()判断文件是否存在,不存在则createNewFile()
C.相对于app的写入写出(字符流和字节流)
新建流传入文件(如果是缓冲流写入的话的话flush才是真正的写进文件)
根据流进行read(流对象)write(流对象)
(3)SQLite(数据库)
A.新建类xx继承SQLiteOpenHelper,写一个带4参的构造(context,数据库名,光标工厂,版本号).
B.重写两个方法
onCreate(SQLiteDatabase db)创建时调用(进行一些表的创建)
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)升级时调用
C.写一个功能类实现数据库的增删查改(execSQL/rawQuery)
在此类中需要建xx类的对象,通过xx对象获取可写/可读的db,进行操作
(4)Internet(网络存储)
A.通过URL对象.openConnection()发送请求将返回对象强转成HttpURLConnection类型
B.设置超时时间setConnectTimeout(1000)
C.设置请求方式setRequestMethod("get")
D.根据响应码判断是否请求成功(200成功,404网页不存在,503无响应)
E.根据HttpURLConnection对象.getInputStream得到返回的输入流
F.写方法把输入流变成输出流,并以String(输出流,编码类型(utf-8)),转成String
六.AQuery
导入jar包
AQuery .id(R.id.button).text("Click Me").clicked(this, "buttonClicked");(简化控件,监听)
AQuery .ajax()网络访问交互
七.JSon
String str="{\"name\":\"Iyangc\",\"address\":{\"province\":\"四川\",\"city\":\"成都\"}}";(JSONObject格式)
新建JSONObject xx=new JSONObject(str)
获取数据
xx.getString(键值)
八.Gson
Gson.toJson(bean)
Gson.formJson()
数据集合时 Type type = new TypeToken<List<Ure>>(){}.getType();
List<Ure> l=Gson.fromJson(json格式的字符串,type);
九.XML(pull)解析
A.获取一个xml文件将其打开为输入流inputStream
B.Xml.newPullParser()新建XmlPullParser对象
C.解析对象.setInput(输入流,"utf-8(编码格式)"),设置需要解析的输入流
D.对象.getEventType!=XmlPullParser.END_DOCUMENT判断文件是否读到结尾
E.getName()获取节点名字
F.getnexttext()获取节点内的内容
H.完成一次后移动到下一节点继续判断
十.Socket(套接字)
(端口号相当于一个应用的标识码)
(1) 服务器(Srevice)
A.new ServerSocket(指定端口号)(建服务器套接字)..对象.accept()阻塞式接收
B.通过getInputStream().获取输入流(客户端传过来的)
C.通过getOutputStream().获取本服务器的输出流,通过wrate(),将内容传到客户端
D.不用后可关闭套接字close().这时无法进行访问
(2) 客户端(Client)
A.new Socket("Ip",端口号)实例化对象
B.通过对象get输入/出流.或写或读文件

更多相关文章

  1. Android的WebView控件载入网页显示速度慢的究极解决方案
  2. 从源码中浅析Android中如何利用attrs和styles定义控件
  3. Android 如何获取当前Activity实例对象?
  4. Android应用程序窗口(Activity)的窗口对象(Window)的创建过程分析
  5. android实现UI控件自动注入到Activity
  6. Android进阶自定义控件之滑动开关
  7. android之控件自定义(seekBar)
  8. Android 在onCreate()方法中获取控件宽高值为0解决方案
  9. Android中ListView实现子控件点击事件后ListView点击事件失效解

随机推荐

  1. Android与WebView的同步和异步访问机制
  2. Android(安卓)开发者从0到1发布一个微信
  3. Activity生命周期详解
  4. Android(安卓)HAL实现的三种方式(1) - 基
  5. Android(安卓)VS iOS:2011年的死亡竞技赛
  6. Android实现远程控制PC(Android[客户端]+
  7. Android多媒体开发 Pro Android(安卓)Med
  8. Android中的HashMap原理实践探索,重写equa
  9. [Android官方API阅读]___
  10. Android(安卓)API Levels