首页 > 代码库 > ACM函数模板开源

ACM函数模板开源

今天平安夜,首先祝大家平平安安。


和众多Android工程师一样,我想写个好的app。
开发这个小应用,我也只是当时的一时兴起,为了提高我的开发速度,我用到了人家大牛写的仿小米启动页界面。

Android手机千千万万,要做到全部兼容是很难的,同学老是叫我更新,我都有点烦了,首先我做这个我没有一点收入可言,我没有在里面放任何广告。下载量高了,我也不会有一点钱,提交到市场那只是方便下载罢了。再者,我是二流学校。搞ACM的算法那肯定是远远不及人家那种一流学校的。
还有就是,我比较懒。这就是重点。

我也想更新啊,用html把看代码的界面在弄得漂亮一点(不仅可以看文字,还可以看图片。更多的是可以放大缩小,内容进行一个动态排版)我甚至想做推送呢,连接数据库,把内容动态更新,可是里面的内容我怎么跟新呢?自己写?还是百度?这些都是一个问题。

本想弄好就来写这篇文章的,可是一直没有写,知道为什么吗???还不是我懒,哈哈。很多时候写了一两个小东西,本想拿写出来分享一下的,更多的就是记录学习笔记。
哎,懒害死人啊。
你们也看到,我很久都没有写博客了。都是因为懒。。。而不是没有时间。

昨天把电脑拿去给大神除尘了,我给他钱,他始终都没有收,搞得我太不好意思了,打算明年自己买一套工具来自己搞吧,哈哈~

   



 好了,我们直接奔主题:

系统环境:windows8标准版
开发环境:eclipse
使用的sdk版本:4.4

  在这里我就不上传效果图片了,你们可以上应用宝或者360上下载到(ACM函数模板)。或者点击http://android.myapp.com/myapp/detail.htm?apkName=com.lxw.acm这里下载到手机上面运行。

我们先来看项目的工程结构:

技术分享

技术分享


很简单的,我就一个包搞定。
我把从百度整理来的资料都放在 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函数模板开源