Android_记事本事例
NotePad\res\values\strings.xml内容:
NotePad\res\layout\note_edit.xml内容:
xmlns:android="https://www.doczj.com/doc/bb15177967.html,/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:scrollbars="vertical"/>
NotePad\src\com.notpad\NotePad.java内容:packagecom.notpad;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.content.DialogInterface;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.widget.Button;
importandroid.widget.Toast;
importandroid.view.View;
public class NotePad1 extends Activity {
private static final int LIST_ID = Menu.FIRST; //定义菜单序号
/* Called when the activity is first created.活动初次创建时调用*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(https://www.doczj.com/doc/bb15177967.html,yout.note_edit);
Button confirmButton = (Button)findViewById(R.id.confirm);
confirmButton.setOnClickListener(
newView.OnClickListener(){
public void onClick(View view){
createDialog();
}
}
);
}
@Override
publicbooleanonCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
menu.add(0,LIST_ID,0,R.string.menu_list);
return true;
}
public void createDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.dialog_message).setCancelable(false).setPositiveButton( R.string.dialog_yes,
newDialogInterface.OnClickListener(){
public void onClick(DialogInterfacedialog,int id){
Toast.makeText(NotePad1.this.getApplicationContext(),R.string.dialog_save_success,Toast.LE NGTH_SHORT).show();
}
}
)
.setNegativeButton(R.string.dialog_no,
newDialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
}
);
AlertDialog alert = builder.create();
alert.show();
}
}
设计报告成绩评定表: 评分内容成绩 系统方案思路合理性(10%) 报告内容的完整性(10%) 硬件原理图及说明(20%) 程序流程图(20%) 程序清单(10%) 调试及结果分析(10%) 系统改进建议或者方案(10%) 格式规范(10%) 总分 备注:以上总分为该组的平均分,根据成员分工具体分数如下。 小组成员分工分数刘志负责代码的编写 云庆负责总计界面的设计与优化 负责整个设计过程中的ppt制作,以及答辩申任翔 吴宜凡负责调试整个程序,报告撰写
基于Android的简单记事本的设计 摘要 本文主要阐述了基于Android的简单记事本的设计与实现,较为系统的介绍了用户通过点击add按钮编辑事件、通过save按钮添加事件,以及在主界面查看事件列表、单击列表查看单个事件的详细内容,和通过长按列表弹出对话框,选择修改事件、删除事件等。本文主要介绍的是运用eclipse软件进行Android 应用的设计,如使用Activity类、运用Intent技术实现页面的跳转、通过数据存储实现标题、时间、内容的保存以及取出查看的功能。通过以上技术使应用中的各项操作简便易懂并且有明确的提示,让用户可以更清晰快捷地掌握该记事本的使用,为用户节省了时间,为用户提供了便利,随时随地都能记录生活。 关键词:Android、记事本、Intent、Activity
目录 绪论 (1) 一丶需求分析和概要设计 (3) 1.1需求分析 (3) 1.2整体要求 (3) 1.3开发工具和环境 (3) 二丶系统设计 (4) 2.1系统设计架构 (4) 2.2界面概述 (5) 2.3模块概述 (6) 三丶系统详细设计 (6) 四丶系统的不足及改进 (9) 五丶总结 (10) 六丶参考文献 (11)
1.只是在主程序里面添加此代码: TextView textView = new TextView(this); textView.setText("你好啊"); setContentView(textView); 就会在Android虚拟机上显示“你好啊” 2.只在Main.xml里面添加代码:
武汉理工大学本科学生毕业设计 (论文)开题报告 1、目的及意义(含国内外的研究现状分析) 这次课题的目的是在Android系统的手机开发平台之上,研究与开发一个记事本软件,提供适用手机的记事本功能服务,其中包括以下几个功能: (1)文本、图形记事支持;(2)语音记事支持;(3)内容检索与管理; (4)以邮件或短信方式发送信息。 首先,记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事务信息以文本的形式展现出来,存储起来。随着用户需求的增加,可能希望用图形来代替文本来记事,用户之间打开记事本,看到图片就能联系自己所记载的事务信息。这样免去了输入文字的麻烦,反而会更简单。又或者是文本与图片的交叉运用,可以让用户自己选择自己喜欢的记事方式,更加自由与便捷。所以此功能的意义是让简单的记事信息能以文本和图形表达,更加丰富多彩。 其次,在支持传统的文字记事方式下,还要支持语音记事。因为用户需要追求更加简单的记事方式,不需要手动输入文字,而是直接语音记事。语音直接保存,有利于下次用户直接查看时点击按钮就可以播放相应的录音信息了。这对于某些眼睛不太好的,或者说更喜欢听的用户是很有吸引力的。 再次,如果记事本的信息很多,而用户又需要快速找到自己需要的记事信息,这时候内容检索就非常有用了。对于业务繁忙,或者是经常写备忘录记事的群体,这个内容检索功能能带给用户很多的便利。让他们更加高效的利用手机,节约时间,高效工作与生活。 最后,针对商务人士,或者是经常使用邮箱(如Gmail)的用户来说,有时候希望通过查看邮箱的同时查看记事本的信息,一次性获取全部。所以记事本同步邮箱功能能够为用户带来更多的功能与便利。 国内外现状分析: 目前国内外有4款比较火的记事本软件。分别是Evernote,小米便签,NoteEverything,麦库记事。 Evernote 在软件界面方面界面清爽,需注册登录后才可使用,图标布局比较协调;记事笔记方面可编写内容,添加标签,支持上传图片、音频、视频、文件等附件;特色功能方面具有搜索笔记和发送笔记、定位服务、同步等功能;资源占用方面内存占最多,CPU占用适中。 小米便签在软件界面方面界面功能简单,可查看和新建便签,菜单功能相对丰富;记事方面只支持文字内容,可以选择桌面Widget颜色、字体大小等;特色功能方面可以移进文件夹和分享、备份、还原和设置保护密码;资源占用方面内存占用较中,CPU占用最少。 Note Everything界面简洁,上方有新建记事和搜索等按钮,菜单功能非常丰富;支持文本、绘图、语音、图片、清单、图库、视频、条形码等形式,可固定显示记事;特色是单个记事加密,数据备份、还原、导入、到处,创建快捷方式;内存占用最少,CPU占用较中。 麦库记事界面比较精美,菜单功能相对简单;可选分类、加标签、附件,支持拍照和实时录音。特色是笔记搜索和分类,网络同步和笔记分享;内存占用适中,CPU占用最多。
实现直接拒接来电 经过简单的google/baidu后,发现android没有现成的API去拒接电话。android可以通过注册BroadcastReceiver截取短信,因为这个broadcast是一个ordered broadcast,所以只要优先级比短信接收程序高,就可以提前终止掉这个broadcast receiver。 但是,电话呼入则没有类似的机制。不过,综合网上的一些资料,通过以下大体的步骤,则可以实现拒接电话: 1、注册broadcast receiver,监视手机状态: Java代码 1.
题目:基于Android手机平台的记事本设计 系名信息工程系 专业移动通信 学号 姓名 指导老师 2011/6/28
目录 第一章引言 1.1课题研究的目的 1.2课题研究的意义 1.3课题的可行性分析 第二章开发环境的安装和配置 2.1 开发包及其工具的介绍 2.2 Android开发平台的搭建步骤第三章程序设计 3.1 记事本组建的介绍 3.2 记事本存储实现 第四章程序开发 4.1 主activity的设计 4.2 编译内容 4.3 删除记事 第五章程序的测试 第六章总结 参考文献
第一章引言 1.1 课题研究的目的 1.熟悉一下eclipse工具和安卓的环境配置及开发的过程 2.熟练掌握java的组件如button,textview,listView,menu等组件的灵活应用 3.熟练掌握安卓的一个关于数据保存的方式content providers。 4.锻炼一下自己遇到问题,然后解决问题的能力。 1.2 课题研究的意义 随着3G技术的成熟和只能手机的不断普及,移动应用的需求yuri剧增,移动应用开发成为当下最热门的技术之一。在谷歌和安卓手机联盟的共同推动下,安卓在众多移动应用开发平台中脱颖而出。 我们都知道,无论是产品还是技术,商业应用都是它最大的发展动力。安卓如此受到厂商与开发者的青睐,他的前景是一片光明。国内对于安卓这方面的市场还没有完全开发出来。只要我们努力学习安卓,相信对以后无论是生活还是就业都大有裨益。 本文所做的主要工作如下: 开发环境及开发工具的安装及配置 阐述整个记事本的系统结构及工作原理; (1)设计实现“添加记事”,“编辑内容”和“删除当前
2012年3月21日 系统测试(非功能性测试) 1、适配性测试 a) 手机的型号 b) 网络通信情况(2G\3G\WIFI\飞行模式、NET\WAP、中国电信、移动、联通) c) Android的版本号(Android 4.0、Android 2.3、Android 2.2、Android 2.1)主要是2.2\2. 3.*\ 4.0 d) 屏幕的分辨率(1280×720、960×640、960×540、854×480、800×480、640×480、640×360、480×360、480×320、400×240、320×240、220×176、) 2、功能模块测试(功能性测试) a) 根据预先编写的测试用例测试 3、异常测试(手机交互性事件) a) *按键打断,如:电源键、home键、音量键、返回键等;插拔数据线 b) 其他程序后台相互切换
c) *网络切换(2G\3G\WIFI\飞行模式、NET\WAP、中国电信、移动、联通、) d) 待机后是否能恢复程序和网络 e) 短信、电话和闹铃 f) 安装、覆盖安装和卸载 g) 有无SIM卡、有无SD卡 4、编写帮助文档或使用说明 2012-6-28 用户体验测试 1、界面 ①文字错误、图片不显示或显示不正确、缺少输入项、按钮的大小和点击效果 ②布局、图片和配色设计问题,测试人员很难进入 ③提示信息,提示信息语言准确简洁,有指导性。在应该提示的位置放入提示信息,比如程序需要接入网络,在无网络的情况下应给予提示 ④提示信息,提示信息的方式有很多,大概有弹出式和非弹出式两种,根据实际情况来区分
⑤阅读性,手机因输入方式和屏幕大小限时,目前以阅读为主要(除聊天软件),做好阅读是关键。文字字体、大小、颜色和背景颜色可调整,夜间模式 ⑥简洁,看看any.do就知道什么是简洁了,如穿着白纱美女的油画一般 ⑦输入法,输入法不能挡住输入框;回车可以跳转到下一个输入框 2、稳定性 ①网络,需要访问网络的程序,在网络不稳定的情况下,应能正常运行,不应出现意外退出和错误;如程序无法在该环境下运行,应提示用户 ②网络切换,同上 ③网络信号弱,同上 ④进程切换,在多进程切换中,应正常运行,并保持切换前页面,不应出现意外退出和错误 3、性能 ①程序进行某些功能时,不应使手机出现卡、顿等情况,视实际情况而定 4、安装 ①路径,可选择手机、SD卡
1?¢MainActivity 01.package cn.dccssq; 02. 03.import android.app.ListActivity; 04.import android.content.Intent; 05.import android.database.Cursor; 06.import android.os.Bundle; 07.import android.util.Log; 08.import android.view.Menu; 09.import android.view.MenuItem; 10.import android.view.View; 11.import android.widget.ListAdapter; 12.import android.widget.ListView; 13.import android.widget.SimpleCursorAdapter; 14. 15.public class MainActivity extends ListActivity { 16. 17. private static final int INSERT_ID = Menu.FIRST; 18. 19. private static final int DELETE_ID = Menu.FIRST + 1; 20. 21. private static final int ACTIVITY_CREATE = 0; 22. 23. private static final int ACTIVITY_EDIT = 1; 24. 25. private DiaryDbAdapter diaryDb; 26. 27. private Cursor cursor; 28. /** Called when the activity is first created. */ 29. @Override 30. public void onCreate(Bundle savedInstanceState) { 31. super.onCreate(savedInstanceState); 32. setContentView(https://www.doczj.com/doc/bb15177967.html,yout.main); 33. 34. diaryDb =new DiaryDbAdapter(this); 35. diaryDb.open(); 36. 37. } 38. 39. private void showListView(){
成绩: 通信工程专业实训报告 项目名称:Android记事本开发 学号: 0867119212 姓名:闫超 班级: 08通信2班 指导教师:王亚平
摘要 (3) 第一章引言 (3) 1.1 实训背景: (3) 1.2开发环境配置 (3) 第二章软件功能规划 (4) 2.1.软件功能 (4) 2.2界面设计 (4) 第三章功能开发流程及功能展示 (4) 3.1程序执行流程 (4) 3.2功能实现 (7) 第四章实训总结 (9)
摘要 开心或是难过,有趣或是无聊,幸福或是痛苦,这些都是我们所经历的,是记忆,是生命中最为宝贵的,我们舍不得遗忘,记事本能够帮助我们守住回忆,记录下我们生命的足迹。 第一章引言 1.1 实训背景: Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android 已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。开放性:在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。挣脱运营商的束缚:在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。丰富的硬件选择:这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。不受任何限制的开发商:Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。无缝结合的Google应用:如今叱咤互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google 服务。 1.2开发环境配置 (1)java JDK下载:进入https://www.doczj.com/doc/bb15177967.html,/javase/downloads/index.jsp (或者直接点击下载图: 选择Download JDK 只下载JDK,无需下载jre. (2)eclipse下载进入该网页: https://www.doczj.com/doc/bb15177967.html,/downloads/ (或者直接点击下载:BT下载HTTP下载 )我们选择第一个(即eclipse IDE for java EE Developers)(3)下载Android SDK说明: Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,后一种大概20多M,前一种70多M。完全版下载 (android sdk 2.1 r01) 二软件安装 (1)安装jdk 6u19 安装完成即可 (2)解压eclipse eclipse无需安装,解压后,直接打开就行3)解压android sdk 这个也无需安装,解压后供后面使 (4)最终有三个文件夹,Eclipse配置:1 安装android 开发插件 (1)打开Eclipse, 在菜单栏上选择help->Install New SoftWare点击Add按钮,出现如下界面输入网址: https://https://www.doczj.com/doc/bb15177967.html,/android/eclipse/(如果出错,请将https改成http) 名
1.avd:android virtual device 2.5554:模拟器端口号 3.ddms 观察线程thread 堆栈heap 、file explorer、emulator control(模拟打电话发短信) 4.Extras文件夹拓展工具 5.Adb.exe: android debug bridge 安卓调试桥 6.Adb常用指令:(配置环境变量) 1)adb devices:列出所有连接设备 2)Reset adb:重启adb调试桥 3)Adb kill-server:杀死adb调试桥 4)Adb start-server:启动adb调试桥 5)Netstat -ano:查看端口号 ----------------------------------------------------------------------------------------- 7.Platforms是系统文件 8.Assets是资产目录存放在该文件夹下面这些文件会被打包到应用程序的apk 9.Bin 编译后的文件目录 10.Gen自动生成的其下的R.java的内容也是通过修改其他文件内容而自动生成 11.Android.jar基于此jar包的开发 12.Project.properties 代表编译的版本可以修改 13.Libs 支持jar 包会被添加到Android dependence(依赖)目
录下 14.Res 资源目录 15.Drawable存放应用程序图标会自动生成一个id 在R文件里 1)H high 高分辨率 2)M middle 中分辨率 3)L low 低分辨率 4)X extra large 特大分辨率 5)Xx 超大分辨率 16. R文件的作用:自动编译生成res文件中的ID 17.Android manifest:应用程序的清单文件 程序的配置信息启动的图标应用程序名称包名版本号 -------------------------------------------------------------------------------------- 18.Android下软件安装的过程: 1)拷贝xxx.apk到/data/app/xxx-1.apk 2)在data/data目录下创建一个文件夹文件夹名称是当前应 用程序的包名。 3)软件卸载的过程是相反的 19.system/app下安装的是系统自带的应用 20.Windows下注册表是通过数据库实现;Android下的注册表是用xml文件实现
毕业设计(论文) 题目:基于Android平台记事本的设计与实现 姓名:学号: 系(院):信息工程系班级: 指导教师:职称:讲师 二O一四年五月二十日
目录 第一章引言 (1) 1.1研究目的及意义 (1) 1.2 国内外研究现状分析 (1) 1.3 发展趋势 (2) 1.4 可行性分析 (3) 1.5 基本内容 (4) 第二章开发环境的安装和配置 (5) 2.1开发包及其工具的介绍 (5) 2.2 Android开发平台搭建步骤: (6) 2.3硬件环境 (7) 2.4软件环境 (7) 2.5 系统架构 (7) 2.6 工程主体架构 (9) 第三章系统的设计 (11) 3.1功能需求 (11) 3.1.1用户触发事件 (11) 3.1.2记事本基本需求控制 (11) 3.2系能需求 (12) 3.2.1响应时间 (12) 3.2.2稳定性 (12) 3.2.3安全性 (12) 第四章程序的设计 (13) 4.1 记事本组件的设计 (13) 4.2 记事本逻辑设计 (13) 4.3记事本存储实现 (13) 4.3.1数据存储之sharedPreferences (14) 4.3.2数据存储之files (14) 4.3.3数据存储之network (16) 4.3.4数据存储之SQLite (17) 4.3.5 数据存储之ContentProviders (20) 第五章程序的开发 (20) 5.1主activity的设计 (20) 5.2编辑内容 (21) 5.3删除记事 (23) 第六章系统的测试 (24) 6.1 添加新记事 (24) 6.2 查看记事 (27)
滨江学院 《移动通信程序设计》 课程设计 题目Android记事本 院系计算机系 专业计科3 学生姓名窦同庆 学号20112308904 二O一四年五月二十九日
目录 一、引言 (3) 1.1 Android背景 (3) 1.2 可行性分析 (3) 二、开发环境的安装和配置 (4) 2.1 开发包及其工具的介绍 (4) 2.2 Android开发平台搭建 (4) 2.2.1安装包下载 (4) 2.2.2软件安装 (4) 三、软件功能规划 (5) 3.1 软件功能 (5) 2.2 界面设计 (5) 四、程序设计 (5) 4.1 记事本组件的设计 (5) 4.2 记事本逻辑设计 (5) 4.3 记事本存储实现 (6) 4.3.1数据存储之shared Preferences (6) 4.3.2数据存储之files (6) 4.3.3数据存储之network (7) 4.3.4数据存储之SQLite (8) 4.3.5 数据存储之ContentProviders (10) 五、程序开发 (10) 5.1主activity的设计 (10) 5.2编辑内容 (11) 5.3删除记事 (12) 5.4 程序执行流程 (12) 六、程序截图 (15) 1.添加新记事 (15) 2.修改记事 (16) 七、总结 (18)
Android记事本 窦同庆 南京信息工程大学计算机系,南京 210044 摘要:随着3G技术的成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。 关键词:android 记事本 eclipse 1 概要 1.1 Android背景 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。开放性:在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。挣脱运营商的束缚:在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。丰富的硬件选择:这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian 风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。不受任何限制的开发商:Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。无缝结合的Google应用:如今叱咤互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。 1.2 可行性分析 (1)技术可行性-----本项目仅需要一台装有Eclipse及配置好Android 开发环境的计算机即
第一行代码Android学习笔记 感谢《第一行代码》,感谢郭霖博主,拯救我于水火。之前看视频学习Android,自以为已经小成了。在网易工作的朋友问了我几个问题,我就懵逼了。然后,遇到了《第一行代码》,终于把我带进了Android的世界。好书,真的会醉人啊。 这是学习第二遍时的部分笔记,以备后用。 这是第二版,比第一版增加了一些常用的方法。 hujunjob 于北航 2015.04.02
目录 第一章Android系统 (6) 1.1 安卓系统架构 (6) 1.2 Android 项目中的资源 (6) 第二章Activity (6) 一、创建Activity步骤: (6) 二、采用Intent切换activity (7) 1、显式Intent (7) 2、隐式Intent (7) 3、隐式Intent的其他用法 (8) 三、Intent传递数据 (8) 1、向下一个activity传递数据 (8) 2、返回数据给上一个activity (8) 四、activity的生命周期 (9) 1、活动状态 (9) 2、activity生存期 (9) 3、activity被回收数据保存 (11) 五、activity的启动模式 (11) 六、activity最佳实践 (11) 1、知道当前页面是哪一个activity (11) 2、随时随地退出程序 (11) 3、给每个activity都添加一个合适的启动方法 (13) 第三章UI (13) 一、常用控件 (13) 1、TextView (13) 2、Button (13) 3、EditText (13) 4、ImageView (14) 5、ProgressBar (14) 6、AlertDialog (14) 7、ProgressDialog (15) 二、基本布局 (15) 1、LinearLayout (15) 2、RelativeLayout (15) 3、FrameLayout (15) 4、TableLayout (15) 5、GridLayout (16) 三、自定义控件 (16) 1、添加自定义标题布局(无操作的) (16) 2、创建自定义控件 (16) 四、ListView (17) 1、最简单的Adapter (17) 2、定制ListView界面 (18)
基于Android平台记事本的设计与实现 1.设计目的 记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事务信息以文本的形式展现出来,存储起来。随着用户需求的增加,可能希望用图形来代替文本来记事,用户之间打开记事本,看到图片就能联系自己所记载的事务信息。这样免去了输入文字的麻烦,反而会更简单。又或者是文本与图片的交叉运用,可以让用户自己选择自己喜欢的记事方式,更加自由与便捷。所以此功能的意义是让简单的记事信息能以文本、图文和视频表达,更加丰富多彩。 2.设计内容 本设计的基本内容是在Android平台下,设计与实现记事本软件。具体要实现的功能是: (1)设计实现添加“文字”,“图文”,“视频”这三个主要的功能模块。 (2)进入添加后,有“保存”,“取消”两种选择。 (3)主页面显示记事列表,点击可查看及时内容,并有“删除”,“返回”两种选择。 (4)进行测试并分析结果。 3.开发环境的安装与配置 3.1 Android开发平台搭建 本设计主要是以Eclipse为基础,安装SDK和ADT插件后,用来开发安卓项目。开发平台搭建步骤介绍如下。 (1)下载JDK并安装,安装后配置环境变量。 (2)下载Eclipse解压至指定文件夹。 (3)下载SDK后解压至指定文件夹,打开SDK目录,点击SDK Manager安装开发安卓项目需要的包。
(4)启动Eclipse,进入Help—>Install New Software—>Add,添加ADT插件。 (5)进入Window—>Android—>Browse,选择SDK安装目录。 3.2硬件环境 Android设备,如Android手机或平板电脑,主频在1Ghz及以上,内存为512MB以上,系统版本为Android2.1及以上。本设计使用Android4.4.4的手机。 3.3 软件环境 操作系统:windows10 IDE:Eclipse Android SDK 集成环境 4.设计主体架构 4.1 src文件夹 src文件夹下com.liwenhuan.notepad包下为系统主要Activity类: NotesDB.java是进行数据储存的,通过SQLite保存数据。并且用onCreate函数创建数据库。通过设置两个按钮的监听来实现对输入文本的存储或退出。 MainActivity.java是主Activity,通过设置三个按钮的监听来实现添加文本、图文、视频的记事方式。 AddContent.java通过initView方法来判断记事的方式,实现对文本、图片、视频的添加,获取保存文件的时间。 MyAdapter.java是显示模块,通过系统提供的Bitmap在记事列表显示图片和视频的缩略图。 SelectAct.java是记事详情的显示模块,通过监听的方法来实现记事的删除功能。 4.2 gen文件夹 gen文件夹是项目自动生成的文件夹R.java是工程下各个资源的标识符负责所有资源的索引。
设置一个Alarm需要更新一下数据。 1. update alarms.db 2. update com.android.alarmclock_preferences.xml 3. update Settings.System.NEXT_ALARM_FORMATTED for status bar 4. set Kernel RTC alarm or send a message if no driver 具体的函数调用如下所示: com.android.alarmclock.AlarmClock.onCreate() -> SetAlarm.onPreferenceTreeClick() -> SetAlarm.saveAlarm() -> Alarm.setAlarm() -> Alarm.setNextAlert() -> Alarm.enableAlert(ALARM_ALERT_ACTION)/saveNextAlarm(Settings.System.NEXT _ALARM_FORMATTED) -> android.app.AlarmManager.set() -> AlarmManagerService.set() -> AlarmManagerService.setRepeating -> AlarmManagerService.setLocked() -> android.app.IAlarmManager.set() -> RTC.save()// /dev/alarms Alarm闹铃的函数调用如下所示: RTC (WAKEUP) -> AlarmReceiver.onReceive(ALARM_ALERT_ACTION) -> AlarmAlert.onCreate() -> AlarmAlertWakeLock.acquire()/KeyguardManager.newKeyguardLock().disableKeyg uard() -> AlarmKlaxon.postPlay() -> AlarmKlaxon.KillerCallback().onKilled() -> AlarmAlert.dismiss() -> AlarmAlertWakeLock.release()/KeyguardManager.newKeyguardLock().reenableKey guard() DeskClock App中的code block说明如下: Alarm是描述闹钟的抽象类。 AlarmAlert处理闹铃过程中系统相关的事件,继承AlarmAlertFullScreen。AlarmAlertFullScreen显示闹铃界面,并处理闹钟界面上到控件消息。AlarmAlertWakeLock提供控制wakelock接口。 AlarmClock闹钟界面,包括闹钟列表、数字时钟、option菜单。 AlarmKlaxon是一个服务,提供闹铃和震动功能,如果一个闹铃fire,前面一个闹铃已经在闹来,则取消前面那个,闹后来者。 AlarmPreference闹铃文件。 ContentProvider维护闹钟表,字段包括_id、hour、minutes、daysofweek、alarmtime、enabled、vibrate、message、alert。 Alarms提供了操作闹钟的接口,相当于AlarmManager。enableAlert()设置一个闹钟,用的是PendingIntent到方式计算时间。RTC的设置在enableAlert()的am.set(AlarmManager.RTC_WAKEUP, atTimeInMillis, sender); RTC_WAKEUP表示该Alarm如果在关机的情况下来到,则会自动开机闹铃。 DeskClock桌面时钟到activity。其中包括了系统时间、日期、电池及天气等信息,其中天气信息是判断是否存在提供天气信息的app后,从数据库中读取当前的天气信息来更新。也就
Android学习笔记(by quqi99 MSN: quqi99@https://www.doczj.com/doc/bb15177967.html,)Android platform是一个用于开发移动程序的软件包,它包括了操作系统、中间件及一些关键应用。开发者能使用android SDK为Android platform开发应用,这些应用使用JA V A 语言书写,运行在虚拟机Dalvik(一个专为手机程序开发的基于linux内核的JA V A虚拟机)。 https://www.doczj.com/doc/bb15177967.html,/wiki/index.php?title=%E7%BF%BB%E8%AF%91%E4%BB%BB %E5%8A%A1%E9%A2%86%E5%8F%96&printable=yes https://www.doczj.com/doc/bb15177967.html,/forumdisplay.php?fid=2 1 什么是Android 1.1 Android的特性 ?应用框架,让一些基础设施得以重用 ?Dalvik虚拟机,专为开发移动程序优化 ?集成的浏览器,(基于WebKit引擎) ?优化的图形库,(2D图形库以及基于OpenGL ES 1.0规范的3D图形库) ?SQLite,用于结构化数据的存储,是一个数据库 ?多媒体支持,支持多种音频,视频格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) ?GSM技术(依赖具体硬件) ?Bluetooth, EDGE, 3G, WiFi(依赖具体硬件) ?Camera, GPS, compass, accelerometer(依赖具体硬件) ?丰富的开发环境(DEBUG工具,内存及性能工具,Eclipse的插件等) 1.2 Android的架构 Android操作系统的模块如下:
Android四大基本组件分别是: 1、活动(Activity); 2、服务(Service); 3、内容提供者(Content Provider); 4、广播接收器(BroadcastReceiver)。 Activity 答:应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。一般所指的活动是用户界面。一个应用程序可能有一个或者以上的活动存在,每个活动也都会有自己的View。 Service 答:一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。服务是在背景长时间运行的应用组件,不和用户直接进行互动。 BroadcastReceiver 答:广播接收器 Android四大组件的详细讲解 Android应用程序由一些零散的有联系的组件组;Activities(活动)应用程序的显示层;Services(服务)Android应用程序中;Content(内容)提供共享的数据存储;Intents(意图)简单的消息传递框架;BroadcastReceivers(广播接收器;Notifications(通知)用户通知的框架;一、Activity详解Act Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest 绑定在一起。在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石: Activities(活动)应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个Activity相当于一张Form。你在这章中将会学习到更多关于Activities。
摘要:本文主要阐述了基于Android的简单记事本的设计与实现,较为系统的介绍了用户通过点击add按钮编辑事件、通过save按钮添加事件,以及在主界面查看事件列表、单击列表查看单个事件的详细内容,和通过长按列表弹出对话框,选择修改事件、删除事件等。本文主要介绍的是运用eclipse软件进行Android应用的设计,如使用Activity类、运用Intent 技术实现页面的跳转、通过数据存储实现标题、时间、内容的保存以及取出查看的功能。通过以上技术使应用中的各项操作简便易懂并且有明确的提示,让用户可以更清晰快捷地掌握该记事本的使用,为用户节省了时间,为用户提供了便利,随时随地都能记录生活。 关键词:Android、记事本、Intent、Activity
目录 绪论.......................................................... 错误!未定义书签。 1 需求分析和概要设计 (3) 1.1需求分析 (3) 1.2整体要求 (3) 1.3开发工具和环境 (3) 2 系统设计 (4) 2.1系统设计架构 (4) 2.2界面概述 (4) 2.3模块概述 (5) 3 系统详细设计 (6) 3.1N OTEPAD A CTIVITY类 (6) 3.1.1 add按钮监听 (6) 3.1.2 ListView监听 (6) 3.1.3 initListView方法() (7) 3.2E DIT T EXT A CTIVITY类.......................................... 错误!未定义书签。 3.2,.1 SAVE按钮监听......................................... 错误!未定义书签。 3.3C HECK L IST A CTIVITY类 ........................................ 错误!未定义书签。 3.4D ATABASE H ELPER类........................................... 错误!未定义书签。 3.5D ATABASE M ANAGER类 (8) 3.6L IST V IEW A DAPETER类 (18) 4 系统的不足及展望 (9) 4.1不足 (9) 4.1.1 没有特色 (9) 4.1.2 支持的形式太少 (9) 4.2展望 (9) 4.2.1 实现备忘录提醒 (9) 总结 (10)