java代码:
package com.sxt.day04_05;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import com.sxt.day04_05.R;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
String mUsers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("main","onCreate()");
if(savedInstanceState==null){// 若是第一次创建MainActivity
//从服务端下载users.json文件
downloadUsers();
}else{
mUsers=savedInstanceState.getString("users");
Log.i("main",mUsers);
}
}
//从服务端下载users.json文件
private void downloadUsers() {
new Thread(){//sdk从4.0开始要求下载数据必须在工作线程中执行
public void run() {
InputStream in =null;
try {
URL url=new URL("http://10.0.2.2/users.json");
URLConnection conn = url.openConnection();
in = conn.getInputStream();
byte[] buffer=new byte[1024];
int len = in.read(buffer);
mUsers=new String(buffer, 0, len);
Log.i("main",mUsers);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(in!=null){
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
}.start();
}
@Override
protected void onStart() {
super.onStart();
Log.i("main","onStart()");
}
@Override
protected void onResume() {
super.onResume();
Log.i("main","onResume()");
}
@Override
protected void onPause() {
super.onPause();
Log.i("main", "onPause()");
}
@Override
protected void onStop() {
super.onStop();
Log.i("main","onStop()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i("main","onDestroy()");
}
@Override
protected void onRestart() {
super.onRestart();
Log.i("main","onRestatr()");
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.i("main","onSaveInstanceState()");
outState.putString("users", mUsers);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.i("main","onRestoreInstanceState()");
}
}
相关推荐
037集-Activity纵横屏切换的数据保存与恢复视频教程,很是不错。
屏幕转换,单选按钮的运用,内容之间的跳转
Android解决多个Fragment切换时布局重新实例化问题,并保存当前fragment页面,系统回收后还原之前fragment页面,更新版
Android 6.0 Launcher3 增加屏幕切换动画的资源和源码包
硕士毕业论文,Android平台下双屏切换显示的设计。
实现Android的Activity屏幕左右切换的效果,AndroidV2.1以上.
android屏幕的切换,实现简单的横屏与竖屏的切换功能。
android 屏幕切换 android 屏幕切换
Android白天夜晚模式切换实现,用BroadCast Receiver实现,具体内容在我博客中
Android 滑动切换页面以及屏幕手势
ThemeDemo日夜间模式切换,页面切换的时候附带动画特效, 关于多主题实现的,大牛这里的做法是继承AppCompatActivity,置换了AppCompatDelegate中AppCompatViewInflater中的createView 方法.实现了对 xml 控件的控制. ...
Android保存用户数据到手机内存中 http://blog.csdn.net/eeeduo/article/details/37831559
横竖屏切换保存ListView数据
主要为大家详细介绍了Android实现滑动屏幕切换图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Android实现单击按钮实现屏幕切换,更有利于他人明白里面的原理。
QML for Android通过ScreenRecorder录制屏幕并保存为本地视频
Android Fragment切换动画
解决了Android手机屏幕横竖屏切换的问题
Android视频播放器(支持横竖屏切换)