Android 개인 재 태 크 도구 1:프로젝트 개요 와 시작 인터페이스의 실현

본 논문 부터 안 드 로 이 드 개인 재 테 크 도 구 를 만 들 고 전체 개발 과정 을 기록 하여 여러분 과 공유 합 니 다.
       프로젝트 전체 소개
       이 안 드 로 이 드 개인 재 태 크 도구 의 주요 기능 은 일상생활 의 각종 수입 과 지출 내 역 을 입력 할 수 있 고 매달 말 에 매달 의 각종 상황 을 통계 할 수 있다 는 것 이다.수지 관계 떡 그림,월 간 막대 그래프 등 을 보고 하 다.
       다음 그림 은 프로그램의 흐름 도 입 니 다.

       프로그램 이 관련 될 수 있 는 기술:
       1.여러 보기 의 전환,매개 변수의 전달,intent 의 사용.
       2.Grid 내 역 의 표현.
       3.sqlite 데이터 의 조작.
       4.통계 도 를 표현 하기 위해 view 를 직접 그립 니 다.
       이거 부터 써.
       시작 인터페이스의 실현
       시작 인터페이스의 주요 기능 은 시작 그림 을 표시 하고 배경 에서 시스템 초기 화 를 하 는 것 입 니 다.
       이 프로그램 을 처음 사용 하 는 경우,이 프로그램의 sqlite 데이터 베 이 스 를 초기 화하 고,라 이브 러 리 를 만 들 고,Table 을 만 들 고,장부 데 이 터 를 초기 화해 야 합 니 다.
       처음 사용 하지 않 으 면 등록 수지 기록 인터페이스 에 들어간다.
       화면 효과 그림:

       화면 이 간단 합 니 다.하나의 imageview 와 textview 입 니 다.
       그런데 어떻게 view 2 개 를 수직 으로 가운데 로 표시 합 니까?나 는 Linearlayout 을 사용 하기 시 작 했 을 때 수직 과 수평 거 중 을 완성 하지 못 했 고 나중에 Relative Layout 를 사용 해서 가로 거 중 을 해결 했다.
       인터페이스의 구체 적 인 xml 는 다음 과 같다.
       main.xml
XML/HTML 코드

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/RelativeLayout01" xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_gravity="center_vertical|center_horizontal" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content"> 
<ImageView android:id="@+id/ImageView01" 
android:src="@drawable/logo3" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 
</ImageView> 
<TextView android:id="@+id/TextView01" 
android:text="@string/welcome" 
android:layout_below="@id/ImageView01" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 
</TextView> 
</RelativeLayout> 
       여기 서 제 가 작은 기 교 를 사용 하 겠 습 니 다.프로그램 이 초기 화 된 후에 그림 을 페이드아웃 시 킨 다음 에 다음 화면 을 표시 하 는 것 입 니 다.
       처음에 나 는 timer 를 사용 하여 그림 의 알파 값 을 업데이트 하려 고 했 는데,나중에 프로그램 에서 이상 Only the original thread that created a view hierarchy can touch its views 를 던 졌 다.
       안 드 로 이 드 의 ui 컨트롤 이 스 레 드 가 안전 하 다 는 것 을 알 게 되 었 습 니 다.
       여기 에는 우리 가 메 인 라인 밖에서 스 레 드 업데이트 인터페이스 에 있 는 그림 을 하나 더 열 어야 합 니 다.imageview.invalidate 를 사용 할 수 있 습 니 다.
       스 레 드 업데이트 인터페이스 를 어떻게 따로 여 는 지 에 관 한 코드 는 다음 과 같 습 니 다.
자바 코드

//          imageview 
mHandler = new Handler() { 
@Override 
public void handleMessage(Message msg) { 
super.handleMessage(msg); 
imageview.setAlpha(alpha); 
imageview.invalidate(); 
} 
}; 
new Thread(new Runnable() { 
public void run() { 
while (b < 2) { 
try { 
//  2  , 50      imageview 
if (b == 0) { 
Thread.sleep(2000); 
b = 1; 
} else { 
Thread.sleep(50); 
} 
updateApp(); 
} catch (InterruptedException e) { 
e.printStackTrace(); 
} 
} 
} 
}).start(); 
public void updateApp() { 
alpha -= 5;//    alpha 5 
if (alpha <= 0) { 
b = 2; 
Intent in = new Intent(this, com.cola.ui.Frm_Addbills.class); 
startActivity(in);//       
} 
mHandler.sendMessage(mHandler.obtainMessage()); 
} 
       이 코드 를 통 해 우 리 는 안 드 로 이 드 에서 ui 보 기 를 어떻게 업데이트 하 는 지 이해 할 수 있 습 니 다.
       다음 글 은 sqlite 의 사용 을 살 펴 보 겠 습 니 다.프로그램 을 어떻게 초기 화 합 니까?
       ColaBox.java 첨부:
자바 코드

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(2000); 
  b = 1; 
  } else { 
  Thread.sleep(50); 
  } 
  updateApp(); 
  } catch (InterruptedException e) { 
  e.printStackTrace(); 
  } 
 } 
 } 
 }).start(); 
 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); 
 } 
 mHandler.sendMessage(mHandler.obtainMessage()); 
 } 
 
 public void initApp(){ 
 
 } 
} 
       시리즈 글:
                       Android 개인 재 테 크 도구 6:계산서 내 역 표시
                       Android 개인 재 테 크 도구 5:계산서 내 역 표시
                       Android 개인 재 테 크 도구 4:계산서 페이지 추가
                        Android 개인 재 테 크 도구 3:계산서 페이지 추가
                        Android 개인 재 테 크 도구 2:SQLite 를 사용 하여 시작 할 때 데이터 초기 화
                        Android 개인 재 태 크 도구 1:프로젝트 개요 와 시작 인터페이스의 실현
      이상 은 간단 한 안 드 로 이 드 애플 리 케 이 션 을 개발 하 는 절차 입 니 다.추 후 계속 보충 하 겠 습 니 다.여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기