`
minghaitang
  • 浏览: 128055 次
社区版块
存档分类
最新评论

android笔记2

阅读更多

smsManager.divideMessage(content);前提是这个短信内容不为空;
scAddress,短信中心地址,如果没有则为NULL
sentIntent用于判断发送是否成功,是移动网络返给手机的一个信号,(网络)
deliveryIntent对方是否受到,是移动网络返给手机的一个信号,这两个都是采用的异步的方式,没有则设为NULL
发送短信也要获得权限,

中文是有乱码问题的,这个不用管它, 是操作系统的问题;
cn.itcast.Junit是应用所在的包,
继承AndroidTestCase是用于得到这个应用的上下文Sys,
有例外就要抛出,Exception ,Throwable是Exception的父类,

要实现单元测试,就要引入一个单元测试包,和类,单元测试一定要放到应用所在包里面
<uses-library android:name="android.test.runner" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
  android:targetPackage="cn.itcast.action" android:label="Tests for My App" />
------------------------------------------------- 
LogCat这是Androider的专门的控制台
Log.i(tag,e.toString)
pirvate static final String tag="类名";
Log.e(tag,e.toString);e.toString是错误信息,
这是日志的输出,它是往控制台的输出,

---------------------------------------------------
开发的步骤 :activity
1.先开发Service,A.单元测试
2,开发UI
3。Activity{
   a.添加用户事件,
   b.调用Service方法完成相应功能,
   }
----------------------------------------------------------
在业务层如果有例外,就要抛出,这是为了给客户一个清楚的异常信息,
this.openFileOutput("itcast.txt",ContextMode
_PRIVATE);第二个参数是操作模式;
有四种操作模式:
Context.MODE_PRIVATE

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,
写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入:
openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
------------------------------------------
在内部类中要访问外部类这样写FileActivity.this这个代表的就是外部类;

Activity可以看作是Context对像

吐丝会安你指定的时间显示并关闭一个小的方框Toast;
Toast.makeText(Context context,CharSequence,)

1是两三秒钟
0是一秒钟
错误信息就用e, Log.e(tag,msg);
shift+ctrl+y小写/x大写


android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,
当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,
任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/<package name>/files),
其他程序无法访问。除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,
只有这样其他程序才能正确访问。

-------------------------------------------------------------------------------------------
在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建,也可以使用DOS命令进行创建,如下:
在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img:
mksdcard 2048M D:\AndroidTool\sdcard.img

 

在程序中访问SDCard,你需要申请访问SDCard的权限。
在AndroidManifest.xml中加入访问SDCard的权限如下:
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-------------------------------------------------------------------------------
要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。
注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
         File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录
         File saveFile = new File(sdCardDir, “itcast.txt”);
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("传智播客".getBytes());
outStream.close();
}
Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:
File sdCardDir = new File("/sdcard"); //获取SDCard目录
File saveFile = new File(sdCardDir, "itcast.txt");
//上面两句代码可以合成一句: File saveFile = new File("/sdcard/itcast.txt");
--------------------------------------------------------------------------------------------
如果要打开存放在/data/data/<package name>/files目录应用私有的文件,可以使用Activity提供openFileInput()方法。
FileInputStream inStream = this.getContext().openFileInput("itcast.txt");
Log.i("FileTest", readInStream(inStream));
readInStream()的方法请看本页下面备注。

或者直接使用文件的绝对路径:
File file = new File("/data/data/cn.itcast.action/files/itcast.txt");
FileInputStream inStream = new FileInputStream(file);
Log.i("FileTest", readInStream(inStream));
注意:上面文件路径中的“cn.itcast.action”为应用所在包,当你在编写代码时应替换为你自己应用使用的包。
对于私有文件只能被创建该文件的应用访问,如果希望文件能被其他应用读和写,可以在创建文件时,指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。

Activity还提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用于获取/data/data/<package name>/cache目录
getFilesDir()方法用于获取/data/data/<package name>/files目录
---------------------------------------------------------------------------------------------
在XML文件里面有两个节点,一个是元素类型节点,一个是文本类型节点,
oooi11是文本类型节点,
在XML文件里面的所有,不是元素类型节点,就是文本类型节点。

SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事件。所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在ContentHandler接口。
characters(char[] ch, int start, int length)
这个方法用来处理在XML文件中读到的内容,第一个参数为文件的字符串内容是XML文件的整个文件的内容;后面两个参数是读到的字符串在这个数组中的起始位置和长度,使用new String(ch,start,length)就可以获取内容。
startDocument()
当遇到文档的开头的时候,调用这个方法,可以在其中做一些预处理的工作。
endDocument()
和上面的方法相对应,当文档结束的时候,调用这个方法,可以在其中做一些善后的工作。
startElement(String namespaceURI, String localName, String qName, Attributes atts)
当读到一个开始标签的时候,会触发这个方法。namespaceURI就是命名空间,localName是不带命名空间前缀的标签名,qName是带命名空间前缀的标签名。通过atts可以得到所有的属性名和相应的值。要注意的是SAX中一个重要的特点就是它的流式处理,当遇到一个标签的时候,它并不会纪录下以前所碰到的标签,也就是说,在startElement()方法中,所有你所知道的信息,就是标签的名字和属性,至于标签的嵌套结构,上层标签的名字,是否有子元属等等其它与结构相关的信息,都是不得而知的,都需要你的程序来完成。这使得SAX在编程处理上没有DOM来得那么方便。
endElement(String uri, String localName, String name)
这个方法和上面的方法相对应,在遇到结束标签的时候,调用这个方法。
characters(char[] ch, int start, int length) 这个是对应文本类型的;
这个方法用来处理在XML文件中读到的内容,第一个参数为文件的字符串内容,后面两个参数是读到的字符串在这个数组中的起始位置和长度,使用new String(ch,start,length)就可以获取内容。
----------------------------------------------------------------------------------
手机上的CPU 如果是一个G的,但是只是相当于电脑的500M的CPU
手机上的资源是跟电脑没有办法比的,所以尽量少用DOM来解析的;

分享到:
评论

相关推荐

    第一行代码 android学习笔记 完整版

    "Android学习笔记" Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中...

    android studio实现笔记本

    2. **.gitignore**: 这是一个文本文件,定义了在使用Git版本控制系统时应该忽略的文件和目录。例如,本地配置文件、缓存文件等通常会被添加到`.gitignore`中,以避免将敏感信息或不必要的文件推送到版本库。 3. **...

    android笔记本

    2. **插入数据**:使用SQLiteDatabase对象的insert()方法,将用户的笔记保存到数据库中。例如: ```java public void insertDiary(String title, String content, String date) { SQLiteDatabase db = this....

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...

    android 开发笔记

    这可能涉及到硬件接口的使用,如GPIO、I2C、SPI等,以及设备驱动程序的开发,这对于在嵌入式系统上进行Android开发是必不可少的。 总之,这份"Android开发笔记"是一套全面的学习资源,涵盖了从基础到进阶的Android...

    Android代码-AndroidNote Android笔记

    Android学习笔记 &gt; 十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤, &gt; 满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨, &gt; 青丝化雪、鬓角成霜,已是英雄迟暮,人生怎慷慨激昂? 目录 ...

    基于Android Studio开发的笔记APP.rar

    【Android Studio开发笔记APP详解】 Android Studio是Google官方推荐的Android应用开发集成开发环境(IDE),它提供了丰富的功能,使得Android应用开发变得更加高效和便捷。本教程将基于Android Studio,详细解析一...

    Android笔记本小程序源码

    【Android笔记本小程序源码】是一个面向Android平台的项目,它为用户提供了一个轻量级的笔记应用体验。这个小程序集成了登录注销功能,允许用户安全地管理自己的笔记。它还涉及到了数据库连接技术,用于存储和检索...

    最新最全的Android开发笔记

    这份"最新最全的Android开发笔记"涵盖了Android应用开发的各个方面,旨在帮助开发者提升技能,跟上快速发展的Android生态系统。 笔记首先介绍了Android开发的基础,包括安装Android Studio,这个强大的集成开发环境...

    android 很好的学习笔记

    【Android学习笔记详解】 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的平台和无限的可能性。"Android很好的学习笔记"是一份专为初学者设计的资源,旨在帮助那些想要踏入Android开发...

    Android笔记

    根据给定的文件信息,以下是对“Android笔记”的知识点整理与详细解释: ### Android学习笔记概览 #### 一、基础概念 1. **开篇介绍:** - 开始学习Android开发之前的基础介绍。 2. **框架简介:** - 对Android...

    Android开发笔记全集

    《Android开发笔记全集》是一份综合性的学习资源,涵盖了Android应用开发的多个核心领域,旨在帮助开发者系统地掌握Android平台的开发技能。这个压缩包包含的文件名为“Android开发笔记”,暗示着它可能是一个系列的...

    Android代码笔记齐全

    这份"Android代码笔记齐全 入门教程"显然是一个全面的学习资源,旨在帮助初学者逐步掌握Android应用开发的基础和进阶内容。下面,我们将深入探讨这些知识点,按照压缩包中文件名的顺序进行。 **day01**通常涵盖的是...

    android开发笔记2

    这份“android开发笔记2”显然旨在帮助开发者提升在该平台上的编程技能。以下将分别就标题、描述以及标签中的关键点进行详细解释,并结合压缩包内的文件内容展开讨论。 标题“android开发笔记2”表明这是一系列笔记...

    Android群英传笔记

    《Android群英传笔记》是一份详尽的关于Android开发的学习资料,涵盖了Android开发的核心概念、关键技术和实战应用。这份笔记旨在帮助开发者深入理解Android系统的工作原理,掌握开发技巧,并能应用于实际项目中。 ...

    Android个人笔记本

    2. **活动(Activity)和意图(Intent)**:Activity是Android应用的基本构建块,代表用户可以看到的屏幕。Intent用于在不同的Activity之间传递数据和启动操作,例如,从主界面跳转到记事详情页。 3. **数据存储**...

    android笔记初学者必看

    android笔记初学者必看 包含代码和知识要点 为求职做好充分准备

Global site tag (gtag.js) - Google Analytics