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:프로젝트 개요 와 시작 인터페이스의 실현
이상 은 간단 한 안 드 로 이 드 애플 리 케 이 션 을 개발 하 는 절차 입 니 다.추 후 계속 보충 하 겠 습 니 다.여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.