标签:
今天平安夜,首先祝大家平平安安。
和众多Android工程师一样,我想写个好的app。
开发这个小应用,我也只是当时的一时兴起,为了提高我的开发速度,我用到了人家大牛写的仿小米启动页界面。
Android手机千千万万,要做到全部兼容是很难的,同学老是叫我更新,我都有点烦了,首先我做这个我没有一点收入可言,我没有在里面放任何广告。下载量高了,我也不会有一点钱,提交到市场那只是方便下载罢了。再者,我是二流学校。搞ACM的算法那肯定是远远不及人家那种一流学校的。
还有就是,我比较懒。这就是重点。
我也想更新啊,用html把看代码的界面在弄得漂亮一点(不仅可以看文字,还可以看图片。更多的是可以放大缩小,内容进行一个动态排版)我甚至想做推送呢,连接数据库,把内容动态更新,可是里面的内容我怎么跟新呢?自己写?还是百度?这些都是一个问题。
本想弄好就来写这篇文章的,可是一直没有写,知道为什么吗???还不是我懒,哈哈。很多时候写了一两个小东西,本想拿写出来分享一下的,更多的就是记录学习笔记。
哎,懒害死人啊。
你们也看到,我很久都没有写博客了。都是因为懒。。。而不是没有时间。
昨天把电脑拿去给大神除尘了,我给他钱,他始终都没有收,搞得我太不好意思了,打算明年自己买一套工具来自己搞吧,哈哈~
好了,我们直接奔主题:
系统环境:windows8标准版
开发环境:eclipse
使用的sdk版本:4.4
我们先来看项目的工程结构:
很简单的,我就一个包搞定。
我把从百度整理来的资料都放在 assets这个文件里面。
来看看我的java代码文件目录:
其实我认为还可以更简。减少代码的冗余性嘛。
当时我害怕会出现activity没有被真正结束,而又被接着打开,然后可能会出现一些错误时,我就没有这样子做了,不过你们可以试试。
看看,里面的代码我均是用 txt的文件来保存的。然后使用Java的I/O流在把它们读出来就好了。
项目里面看代码的如何点击一个item就能够显现相应的标题,查看相应的代码呢?
如果这个一个item对应一个activity的话,那代码冗余性是很高的,里面估计有好几十个item,你就要做几十个对应的activity出来,到时候复制粘贴都能把你搞烦。
我是这样子解决这种问题的:看代码。简单得activity单项值传递
利用activity传值得方式。把我的文件名放在一个数组里面,正好listview里面item的也是从0开始,正好和我的数组下标一一对应,这样子我点击相应的item就能够把相应的值传过去,打开我看demo的那个activity。
下面来看开代码的这个activity,简单得不能再简单了,就是一个Java的I/O流。
public class One_01 extends Activity {
private String content = "";
private TextView tv;
private TextView title;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.one_01);
init();
}
void init() {
Intent intent = getIntent();
tv = (TextView) findViewById(R.id.tv1);
title = (TextView) findViewById(R.id.title);
title.setText(intent.getExtras().getString("title"));
try {
InputStream in = getAssets().open(
intent.getExtras().getString("name"));
content = In.inreader(in);
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tv.setText(content);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
// Process.killProcess(android.os.Process.myPid());
System.exit(1);
}
// @Override
// public boolean onKeyDown(int keyCode, KeyEvent event) {
// // TODO Auto-generated method stub
// if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// //Process.killProcess(android.os.Process.myPid());
// System.exit(1);
// }
// return true;
// }
}
首先我们先做的就是 获取前一个activity传过来的值,然后对它进行处理,把它转换成我们需要的就行了。
其中,为了解决back之后这个activity处于pause状态,在打开时。会出现 现在的内容仅接着上个内容的后面的情况。
其实back之后我们的activity应该调用finish方法来自己销毁,但是它不是立即销毁,这得由系统决定,不是我们所能控制的。
所以我在back之后就把当前的activity进程给结束了。哈哈。
写了这么多,大家肯定还是最想要代码了。
不过在下载代码之前,我们先互相关注下微博好吧?
我的微博:奔跑的甩甩
关注肯定是有好处的,以后我将会在上面发表我的在编程路上的一切,因为在空间发 很多朋友都看不懂。毕竟他们不是这个专业的,不能怪他们。
ACM函数模板开源
标签:
原文地址:http://blog.csdn.net/lxw_xiangyu/article/details/42122879