Android学习笔记一
一、eclipse中的十大快捷键:
1. ctrl+shift+r:打开资源
这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。
2. ctrl+o:快速outline
如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧。它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击enter就能够直接跳转至你想去的位置。
3. ctrl+e:快速转换编辑器
这组快捷键将帮助你在打开的编辑器之间浏览。使用ctrl+page down或ctrl+page up可以浏览前后的选项卡,但是在很多文件打开的状态下,ctrl+e会更加有效率。
4. ctrl+2,L:为本地变量赋值
开发过程中,我常常先编写方法,如Calendar.getInstance(),然后通过ctrl+2快捷键将方法的计算结果赋值于一个本地变量之上。 这样我节省了输入类名,变量名以及导入声明的时间。Ctrl+F的效果类似,不过效果是把方法的计算结果赋值于类中的域。
5. alt+shift+r:重命名
重命名属性及方法在几年前还是个很麻烦的事,需要大量使用搜索及替换,以至于代码变得零零散散的。今天的Java IDE提供源码处理功能,Eclipse也是一样。现在,变量和方法的重命名变得十分简单,你会习惯于在每次出现更好替代名称的时候都做一次重命名。要使 用这个功能,将鼠标移动至属性名或方法名上,按下alt+shift+r,输入新名称并点击回车。就此完成。如果你重命名的是类中的一个属性,你可以点击alt+shift+r两次,这会呼叫出源码处理对话框,可以实现get及set方法的自动重命名。
6. alt+shift+l以及alt+shift+m:提取本地变量及方法
源码处理还包括从大块的代码中提取变量和方法的功能。比如,要从一个string创建一个常量,那么就选定文本并按下alt+shift+l即可。如果同 一个string在同一类中的别处出现,它会被自动替换。方法提取也是个非常方便的功能。将大方法分解成较小的、充分定义的方法会极大的减少复杂度,并提 升代码的可测试性。
7. shift+enter及ctrl+shift+enter
Shift+enter在当前行之下创建一个空白行,与光标是否在行末无关。Ctrl+shift+enter则在当前行之前插入空白行。
8. Alt+方向键
这也是个节省时间的法宝。这个组合将当前行的内容往上或下移动。在try/catch部分,这个快捷方式尤其好使。
9. ctrl+m
大显示屏幕能够提高工作效率是大家都知道的。Ctrl+m是编辑器窗口最大化的快捷键。
10. ctrl+.及ctrl+1:下一个错误及快速修改
ctrl+.将光标移动至当前文件中的下一个报错处或警告处。这组快捷键我一般与ctrl+1一并使用,即修改建议的快捷键。新版Eclipse的修改建 议做的很不错,可以帮你解决很多问题,如方法中的缺失参数,throw/catch exception,未执行的方法等等。
二、在 Android 开发中,android:minSdkVersion 和 android:targetSdkVersion 的区别和设置
android:minSdkVersion 表示应用程序可以再最低什么版本的 Android 系统上运行,也就是该 Android 系统对应的 API Level 值,如 Android 1.5 对应 3,Android 1.6 对应 4。当用户指定这个值后,Android 系统会用这个指定的值对应的 SDK 版本去编译你的应用程序。
android:targetSdkVersion 表示应用程序在什么版本的 Android 系统上是最适合的,且已经经过了完整的测试,一般是采用开发中使用的 SDK 版本。
三、对话框制作
Android的Activity页有很多形式,其实一种非常常用的是对话框式,实现如下:
new一个FirstActivity作为首页,和一个SecondActivity作为弹出的对话框:
首页布局如下:

首页功能是打开一个对话框,代码如下:

public class FirstActivity extends Activity{
    private Button btn1=null;
    class BtnClickListener implements OnClickListener{
        @Override
        public void onClick(View arg0) {
            Intent intent=new Intent();
            intent.setClass(FirstActivity.this, SecondActivity.class);
            FirstActivity.this.startActivity(intent);
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first );
        btn1=(Button)findViewById(R.id.btn1);
        btn1.setOnClickListener(new BtnClickListener());
    }
}

对话框样式如下:

增加子页代码如下:

public class SecondActivity extends Activity {
    private Button btn2=null;
    class BtnClickListener implements OnClickListener{
        @Override
        public void onClick(View v) {
            finish();
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        btn2=(Button)findViewById(R.id.btn2);
        btn2.setOnClickListener(new BtnClickListener());
    }
}

为了使子页形式为对话框式,需要在配置文件AndroidManifest.xml修改如下:

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.activity_05.FirstActivity"
android:label="@string/first_title" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.activity_05.SecondActivity"
android:label="@string/second_title"
android:theme="@android:style/Theme.Dialog">
</activity>
</application>

修改SecondActivity的android:theme属性,为"@android:style/Theme.Dialog"即可。
Android学习笔记一的更多相关文章
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
		学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ... 
- Android学习笔记进阶之在图片上涂鸦(能清屏)
		Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ... 
- android学习笔记36——使用原始XML文件
		XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ... 
- Android学习笔记之JSON数据解析
		转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ... 
- udacity android 学习笔记: lesson 4 part b
		udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ... 
- Android学习笔记36:使用SQLite方式存储数据
		在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ... 
- Android学习笔记之Activity详解
		1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ... 
- Pro Android学习笔记 ActionBar(1):Home图标区
		 Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ... 
- 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知
		文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ... 
- 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类
		文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ... 
随机推荐
- 浏览器后退按钮导致jquery动态添加的select option值丢失的解决方法
			监控浏览器返回功能 判断浏览器返回功能 禁用浏览器的后退按钮 JS禁止浏览器后退键 http://volunteer521.iteye.com/blog/830522/ 浏览器返回功能 判断上一页面来 ... 
- Stateless Iterators
			As the name implies, a stateless iterator is an iterator that does not keep any state by itself. The ... 
- POJ 3286 How many 0's?
			题目链接 题意 :写下m到n之间所有的数,会写多少个0. 思路 :先算0到m的,再算0到n的,最后相减. 网上有位大神是这么推的,看下面.... 首先转化成求 [0, x] 中所有数中,含有的 0 的 ... 
- Android service的开启和绑定,以及调用service的方法
			界面: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ... 
- no such partition grub rescue>
			事出有因: 电脑系统是win7+ubuntu,然后在win7下把ubuntu的分区给删除了,重启,出现 no such partition grub rescue> 错误. 原因是双系统之前是由 ... 
- Linux 线程模型的比较:LinuxThreads 和 NPTL
			Linux 线程模型的比较:LinuxThreads 和 NPTL GNU_LIBPTHREAD_VERSION 宏 大部分现代 Linux 发行版都预装了 LinuxThreads 和 NPTL,因 ... 
- java nio管道
			管道(Pipe) (本部分原文链接,作者:Jakob Jenkov,译者:黄忠,校对:丁一) Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据 ... 
- 百度和 Google 的搜索技术是一个量级吗?
			著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Kenny Chao 链接:http://www.zhihu.com/question/22447908/answer/2 ... 
- AspectJ 出现错误::0 can't find referenced pointcut 的解决之道
			使用AspectJ注解开发AOP应用时,会遇到以下问题: ::0 can't find referenced pointcut 这个问题,与你所在的开发环境有关,如下表 jdk version spr ... 
- JavaMail如何保证邮件发送成功
			使用过JavaMail的api发送邮件的人可能会有这样一个疑惑:我如何知道我调用该api发送的邮件是否成功呢?一般的开放的api给我们调用都会有个返回值或者状态码,来告诉我们执行成功与否.但是Java ... 
