【第一部分】历史文章:
Android学习笔记(一)——创建第一个Android项目
Android学习笔记(二)android studio基本控件及布局(实现图片查看器)
Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像)
Android学习笔记(四)Android 中Activity页面的跳转及传值
Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单
Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务
Android学习笔记(七)——数据存储(共享参数SharedPreferences)
Android学习笔记(八)——数据存储(SD卡文件操作)
Android学习笔记(九)——网络技术
Android学习笔记(十)——实现新闻列表案例
Android学习笔记(十一)——一些高级控件的使用
Android学习笔记(十二)——数据存储(SQLite数据库)
Android学习笔记(十三)——数据存储(LitePal操作数据库)
Android学习笔记(十四)——内容提供器
Android学习笔记(十五)——侧滑容器(ViewPager)
【第二部分】主要问题解决:
Android Studio(存)读取不了SD卡上的文件——【已解决】
【第三部分】期末项目:
Android期末项目(一)—— 解析二维数组对象
package cn.edu.hznu.com;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
public class FirstActivity extends AppCompatActivity {
private TextView button;
private int dt = 5;
private Runnable runnable;
private Timer timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setFlags(flag,flag);
setContentView(R.layout.activity_first);
init();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final SharedPreferences pref=getSharedPreferences("username",FirstActivity.MODE_PRIVATE);
final SharedPreferences.Editor tv_usernameeditor=pref.edit();
final String username=pref.getString("tv_username","未登录");//起初设置为未登录状态
if(username.equals("未登录")||username.length()==0){
timer.cancel();
startMainActivity();
return;
}
else {
startMainActivity();
}
}
});
countDown();
}
private void startMainActivity() {
Intent intent=new Intent(FirstActivity.this,MainActivity.class);
startActivity(intent);
}
protected void onDestroy() {
super.onDestroy();
//移除消息
handler.removeCallbacksAndMessages(null);
}
//初始化函数
private void init() {
try{
button=(TextView) findViewById(R.id.button);
}catch (Exception e){
e.printStackTrace();
}
}
@SuppressLint("HandlerLeak")
private Handler handler = new Handler(){
@SuppressLint("SetTextI18n")
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case 1:
final SharedPreferences pref=getSharedPreferences("username",FirstActivity.MODE_PRIVATE);
final SharedPreferences.Editor tv_usernameeditor=pref.edit();
final String username=pref.getString("tv_username","未登录");//起初设置为未登录状态
if(username.equals("未登录")||username.length()==0){ //未登录
button.setText("跳过封面 " + dt);
dt--;
if(dt<0){
//关闭定时器
timer.cancel();
startMainActivity();
}
return;
}
else { //登录
timer.cancel();
startMainActivity();
}
}
}
};
private void countDown() {
timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(1);
}
};
timer.schedule(timerTask, 1, 1000);
}
}