这个ColaBox记事本是我从网上下载下来的拿来学习一下的(APK下载点这里。)

从登记收入与开支的页面跳转到账单页面运用了SQL数据库的录入,整体表的结构为:

db.execSQL("CREATE TABLE bills ("
+ "_id INTEGER primary key autoincrement,"//ID
+" acctitemid integer,"//账目类型
+ "fee integer,"//费用
+ "userid integer,"//使用者
+ "sdate TEXT,"//日期
+ "stime TEXT,"//时间
+ "desc TEXT" // 备注
+ ");");
Android中的PID:顾名思义,它指的是Process的id。每个进程都有一个独立的id,可以通过pid来区分不同的进程。
在网上把进程PID常用的API搜了一下记录于此:
android.os.Process.myPid( )
得到当前进程的pid
android.os.Process.killProcess ( int pid )
杀死相应进程号的进程
List<ActivityManager.RunningProcessInfo> getRunningAppProcesses( )
获取当前正在运行的进程
android.app.ActivityManager.RunningAppProcessInfo.pid
相应的RunningAppProcessInfo的pid
List<ActivityManager.RunningServiceInfo> getRunningServices ( int maxNum )
得到当前正在运行的ServiceInfo
android.app.ActivityManager.RunningServiceInfo.pid
相应的RunningServiceInfo的pid
而UID是应用在在Android中数据共享中,不同的应用有不同的UID,在Android中要实现UID共享数据只需在程序a,b中的menifest配置即可:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.perseus.a"
      android:versionCode=""
      android:versionName="1.0"
android:sharedUserId="com.share"
>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.perseus.b"
      android:versionCode=""
      android:versionName="1.0"
android:sharedUserId="com.share"
>
   db.execSQL("CREATE TABLE acctitem ("
+ "_ID INTEGER PRIMARY KEY,"//ID
+ "PID integer,"//PID
+ "NAME TEXT" // 姓名
+ ");");
账目表:
 db.execSQL("insert into acctitem values (1,null,'收入')");
db.execSQL("insert into acctitem values (2,1,'工资')");
db.execSQL("insert into acctitem values (9998,1,'其他')");
db.execSQL("insert into acctitem values (0,null,'支出')");
db.execSQL("insert into acctitem values (3,0,'生活用品')");
db.execSQL("insert into acctitem values (4,0,'水电煤气费')");
db.execSQL("insert into acctitem values (5,0,'汽油费')");
db.execSQL("insert into acctitem values (9999,0,'其他')");
主类ColaBox:package com.cola.ui; 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.ImageView;
import android.widget.TextView; public class ColaBox extends Activity {
  //定义线程
private Handler mHandler = new Handler();
ImageView imageview;
TextView textview;
int alpha = 255;
int b = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageview = (ImageView) this.findViewById(R.id.ImageView01);
textview = (TextView) this.findViewById(R.id.TextView01); Log.v("ColaBox", "ColaBox start ...");
imageview.setAlpha(alpha);
//线程
new Thread(new Runnable() {
public void run() {
initApp(); while (b < 2) {
try {
if (b == 0) {
Thread.sleep(1000);
b = 1;
} else {
Thread.sleep(50);
} updateApp(); } catch (InterruptedException e) {
e.printStackTrace();
}
} }
}).start();
//通过Handler运行线程所传递的信息
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
imageview.setAlpha(alpha);
imageview.invalidate(); }
}; }//更新
public void updateApp() {
alpha -= 5; if (alpha <= 0) {
b = 2;
Intent in = new Intent(this, com.cola.ui.Frm_Addbills.class);
startActivity(in);
this.finish();
} mHandler.sendMessage(mHandler.obtainMessage()); }
//初始化
public void initApp(){
BilldbHelper billdb=new BilldbHelper(this);
billdb.FirstStart();
billdb.close(); } public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.v("cola", "keycode=" + keyCode);
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
Log.v("ColaBox", "ColaBox end ...");
return true; }
return false;
}
}

运行效果:

Android之记账本的更多相关文章

  1. Android开发实战——记账本(2)

    开发日志(2)——Bean目录以及数据库 首先编写一些自己生成的数据进行测试,看一下能否显示在模拟器上.那前提就是先写出bean目录,这和之前学的Javaweb步骤差不多.bean目录有三个变量事件. ...

  2. 安卓开发实战-记账本APP(六)

    记账本APP开发---终结篇 昨天的动态数字录屏奉上:在抖音上拍了一个(ps:欢迎点赞) https://v.douyin.com/poEjmG/ 今天将图表的内容进行了制作,我用的是MPChart的 ...

  3. 简单记账本APP开发一

    在对Android的一些基础的知识有了一定了解,以及对于AndroidStudio的如何使用有了 一定的熟悉后,决定做一个简单的记账本APP 开发流程 1.记账本的页面 2.可以添加新的账目 (一)页 ...

  4. 进度1_家庭记账本App

    今天完成了昨天的初步构想,详细介绍见上一篇博客,具体项目结构和案例如下: MainActivity.java: package com.example.familybooks; import andr ...

  5. 家庭版记账本app开发完成

    经过这几天关于android的相关学习,对于家庭版记账本app以及开发结束. 实现的功能为:用户的注册.登录.添加支出账单.添加收入账单.显示所有的该用户的账单情况(收入和支出).生产图表(直观的显示 ...

  6. 记账本NABCD分析

    学生记账本NABCD分析 N(Need,需求) 随着我们进入大学开始逐步的扩大自己的消费水平,而我们每天无法准确的记住一笔一笔的消费记录.常常,每一个月末时我们在宿舍楼道听到不少学生抱怨这个月怎么花钱 ...

  7. 记账本APP(2)

    今天下载了Hbuiler,生成了一个记账本APP,目前里面只可以 输入今日消费 明天将会做出来记录以及计算总额于月消费.

  8. Android开发实战——记账本(4)

    开发日志(4)——MainActivity 在MainActivity中编写了几个方法.首先,点击账本的一条记录可以选择删除他,然后重写了fab,使之在点击他后能够添加记录.还写了删除全部记录的方法. ...

  9. android开发实战-记账本APP(一)

    记账本开发流程: 对于一个记账本的初步开发而言,我实现的功能有: ①实现一个记账本的页面 ②可以添加数据并更新到页面中 ③可以将数据信息以图表的形式展现 (一)首先,制作一个记账本的页面. ①在系统自 ...

随机推荐

  1. .NET的Snk使用方法

    保护你Asp.Net生成的DLL和Code不被别人反编译  大家做项目开发一般都是分层的,比如UI层,业务层,数据访问层.业务层引用数据访问层的DLL(比如 dataAccess.dll),并使用da ...

  2. Netty4.x分析

    官网定义: netty是一个异步.事件驱动的网络应用框架,用于快速开发可维护的.高性能的服务端和客户端程序. 原理分析  Architecture Overview 网络模型:netty采用了Reac ...

  3. UML Distilled - Development Process

    Iterative(迭代) and Waterfall(瀑布) Processes One of the biggest debates about process is that between w ...

  4. MyBatis之三:多表联合查询

    在这篇文章里面主要讲解如何在mybatis里面使用一对一.一对多.多表联合查询(类似视图)操作的例子. 注:阅读本文前请先大概看一下之前两篇文章. 一.表结构 班级表class,学生表student, ...

  5. 【原创】测试不同浏览器播放canvas动画的平滑程度

    Canvas无疑是HTML5开放式网络平台最激动人心的技术之一.目前,除了IE8以外,各类浏览器的新版本都支持HTML5 Canvas. 程序员需要通过Javascript调用Canvas API.基 ...

  6. hdu4864 hdu4268 贪心 lower_bound

    hdu4864 题意: 有n个机器,m个任务,n,m<=100000,每个机器都有工作时间的最大限制xi(0<xi<1440)和完成的最大难度yi(0<=yi<=100) ...

  7. thrift学习笔记

    Thrift学习笔记 一:thrift介绍 Thrift是facebook开发的用来处理各不同系统之间数据通讯的rpc服务框架,后来成为apche的开源项目.thrift支持多种程序语言,包括Java ...

  8. 使用maven命令建立java项目

    在terminal中输入: mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -Darc ...

  9. sql优化-隐形转换危害

    level  整形字段 a:select * form t_user where level =2; b:select * form t_user where level ='2'; b里面的隐形字段 ...

  10. CODEFORCE 246 Div.2 B题

    题目例如以下: B. Football Kit time limit per test 1 second memory limit per test 256 megabytes input stand ...