您的位置:首页 > 移动开发 > Android开发

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()获取当前SDCard

Environment.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,将返回缺省值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 架构 布局 XML