Android_01--Android入门+四大布局+点击事件+文件操作
2015-10-18 23:55
573 查看
01--Android架构
底层Linux核心的工作,安全管理、内存管理、进程管理、电源管理、硬件驱动Libraries:c代码库
OpenGL:图形快速显示,游戏开发
webkit:浏览器内核
Android Runtime
Dalvik VM:虚拟机,android代码运行在此虚拟机
运行时调用Libraries C代码库
Application Framework中间介,java代码,调用底层c代码
Applications原生的应用程序:浏览器、桌面、联系人等
02--Android开发环境的搭建
JDK的安装和Java环境变量设置 下载、解压ADT
创建及使用模拟器
03--adb命令行操作
为了能在任意目录使用adb命令,需要将SDK目录下的platformtools文件夹路径和tools文件夹路径配置到path环境变量中。 adb:android debug briage,android调试桥
列出可以使用的android版本: android list targets
列出可以使用的模拟器: android list avd
启动模拟器:emulator –avd <模拟器名>
显示已连接的设备:adb devices,显示内容:设备名,状态(device、offline)
导入文件到手机:adb push <Windows源文件路径> <手机目标路径>。
从手机导出文件:adb pull <手机源文件路径> <Windows目录路径>
安装程序:adb install <apk文件路径>
卸载程序:adb uninstall <包名>
重启adb: adb kill-server,abd start-server
adb shell:来到模拟器linux系统的终端里,列出模拟器的目录结构:与DDMS中File Explorer界面显示的目录结构一样
ps:运行的进程
kill -9 pid:杀死进程
004--Android工程目录结构
src:源代码。如果最初选择创建Activity,会有一个Activity的子类 gen:系统自动生成的文件。R.java 中记录了项目中各种资源ID BuildConfig.java 标记项目是否可以Debug
Android Private Libraries 用来支持各个版本的类库
assets:资源文件
bin:编译后的二进制文件 包括class、资源文件、dex、apk、清单文件等
libs:工程中使用的库
res:系统资源,所有文件都会在R文件生成资源ID
drawable:图片
layout:界面布局
menu:菜单
values:字符串、样式等数据
anim:动画
raw:原生文件
drawable-hdpi:高分辨率的图片目录
drawable-ldpi:低分辨率的图片目录
drawable-mdpi:中分辨率的图片目录
drawable-xhdpi:大分辨率的图片目录
drawable-xxhdpi:超大分辨率的图片目录
AndroidManifest.xml:清单文件
Android中的四大组件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在文件中注册,程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡。
manifest节点:pakeage:是应用安装的路径data/data的目录,手机上的应用程序的不能有一样的包名/目录。
manifest节点:
versionCode:应用程序版本号
versionName:应用程序版本名称
proguard.cfg:用来混淆代码的配置文件,防止别人反编译
project.properties:标记该项目使用SDK版本号,早期版本名为:default.properties
005-Android程序打包安装过程
Android程序——编译打包——apk——签名——通过adb发布到设备上006--Android 入门案例
案例-电话拨号 : 搭建界面需要组件:TextView(请输入电话号码)、EditText(xxx号码)、Button(呼叫此号码)
当点击Button时获取EditText中文本
使用Intent向系统内置的电话拨号器发送意图拨打电话
注册拨打电话权限android.permission.CALL_PHONE
007--四大布局
LinearLayout(线性布局)android:orientation=“horizontal”表示水平方向
android:orientation=“vertical”表示垂直方向
android:gravity="right"的意思是在当前容器内的子元素右靠起的方式布局
RelativeLayout(相对布局)
ParentLeft:true;父窗体左边
ParentBottom:true;父窗体下边
android:layout_centerHorizontal="true" 使组件能够水平居中
android:layout_centerVertical="true" 使组件能够垂直居中
layout_below:指定某个组件,位于此组件的下方。
TableLayout(表格布局)
FrameLayout(帧布局)
AbsoluteLayout绝对布局
008--Android下的单位
dp 不依赖设备像素,依据设备自动适应大小,推荐使用sp 同dip/dp相似,会根据用户的字体大小偏好来缩放,专门用于设置字体的大小
009--Android点击事件的四种写法
通过匿名内部类来实现通过内部类来实现
由类文件去实现监听接口
在布局文件中注册事件
010--测试
常见测试分类Junit 测试框架
需要在清单文件里配置:
添加指令集(manifest节点下)
targetPackage:是测试目标包
指令集依赖jar包(application节点下
011-日志信息
输出日志在控制台中输入adb logcat,然后按回车键即可看到LogCat信息,如果需要终止按Ctrl+C键即可
将LogCat信息保存在文件中
执行adb logcat >D:/a.txt,则将日志输出到D:/a.txt文件中。按Ctrl+C键终止日志的输出
Logcat的日志等级
Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR
012--文件操作
Environment.getExternalStorageDirectory()获取当前SDCardEnvironment.getExternalStorageState()方法获取SDCard当前状态
Context.openFileOutput(String name, int mode)可以获取一个文件输出流
Context.openFileInput(String name)可以获取一个文件输入流
context.getFilesDir().getAbsolutePath();获取应用路径data/data/应用包名/file
getCacheDir().getAbsolutePath();获取缓存目录 /data/data/应用包名/cache
保存文件:
context.getFilesDir()返回的路径为:/data/data/当前包名/files
Environment.getExternalStorageDirectory()返回的路径为:/sdcard
其实/sdcard只是一个引用地址,真正的地址为/mnt/sdcard
对SDCard进行写入文件操作,需要在清单文件中添加权限:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
XML解析&序列化
XML解析步骤:
获取XmlPullParser: XmlPullParser parser = Xml.newPullParser();
设置XmlPullParser 的参数: parser.setInput(in, "utf-8");
获取解析的文档的事件类型: int type = parser.getEventType();
具体判断一下解析的是哪个标签
使用XmlSerializer 序列化器 生成xml的步骤
获取XmlSerializer实例 :XmlSerializer serializer = Xml.newSerializer();
设置xmlserializer序列化参数
开始写xml 的文档开头
写 xml 根节点
循环写其他节点
SharedPreferences
Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下
保存:
private SharedPreferences sp;
sp = getSharedPreferences("itcast", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "名称");
editor.putInt("age", 4);
editor.commit();//提交修改
getSharedPreferences(name,mode)方法:
第一个参数:用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。
第二个参数:指定文件的操作模式,共有四种操作模式,这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
访问:
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 1);
getString()方法:
第二个参数为缺省值,如果preference中不存在该key,将返回缺省值
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories