13.13.用文件存储和MainServices实现页面跳转问题
来源:互联网 发布:重庆大学网络客户端 编辑:程序博客网 时间:2024/04/29 16:52
一、编写SharedPreferenceUtil类(读写操作)、定义一个Static的nowUser作为当前用户,在MainService和LoginActivivty中都要创建
二、在Login页面init()之前判断,是否含有文件
Intent service=new Intent(this,MainService.class); //开启service
startService(service);
MainService.newActivity(this); //将本活动加入到活动集合中
nowUser= SharedPreferenceUtil.getLoginUser(getApplicationContext());
if(nowUser!=null){
//跳转
Intent intent=new Intent(LoginActivity.this,HomeActivity.class); //有直接跳转到主页面
startActivity(intent);
}else{
init();
}
三、获取ListView上点击的当前对象
*********************** public static UserInfo userInfo;
view = LayoutInflater.from(context).inflate(R.layout.user_selected_templete, null);//加载布局文件,返回v对象
// ImageView img_head= (ImageView) view.findViewById(R.id.img_user_head);//创建实例对象
TextView text_name = (TextView) view.findViewById(R.id.text_user_name);
******************* userInfo = userInfos.get(position);//获取某个用户,这里才有获取某个单独用户的例子
// img_head.setImageDrawable(userInfo.getUserIcon());//setImageDrawable是img_head自己独有的
text_name.setText(userInfo.getUserId());//在Adapter中设置用户的ID
//上面还没有获取用户的头像,姓名
四、在TextView的中获取nowUser对象
TextView text_name = (TextView) view.findViewById(R.id.text_user_name);//listview中text控件的实例对象
textViewUserId.setText(text_name.getText());
************** nowUser=UserAdapter.userInfo;//从适配器中获取当前用户对象
dialog.dismiss();
五、在登录按钮中,创建一个Task对象,放入操作的case和当前用户,然后让MainService执行,页面登录操作
SharedPreferenceUtil.saveLoginUser(this,nowUser);//保存登录信息
Map<String ,Object> taskParams=new HashMap<String, Object>() ; // 创建HashMap用于存放task要的参数
taskParams.put("user",nowUser);//将现在登录的用户保存到taskparams中
Task task=new Task(Task.WEIBO_LOGIN,taskParams);
MainService.newTask(task); //加入任务
六、在doTask中获取当前用户nowuser,并且对微博进行授权、MainService中的操作就是在Handler中处理,实现刷新UI,调用refresh()方法,实现页面跳转
//doTask(Task t)处理业务逻辑
private void doTask(Task t){
// 尽量使用 Message msg = handler.obtainMessage();的形式创建Message.msg.obj = result1; //msg.obj=?从这里把你想传递的数据放进去就行了
Message msg=handler.obtainMessage();
msg.what=t.getTaskId();
switch (t.getTaskId()){
case Task.WEIBO_LOGIN:
nowUser= (UserInfo) t.getTaskParams().get("user");
weibo.setToken(nowUser.getToken(),nowUser.getTokenSecret());
break;
default:
break;
}
handler.sendMessage(msg);
}
//异步处理
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case Task.WEIBO_LOGIN: //用户登录
//跟新UI
Log.d("使用了Service","---------------------->");
IWeiBoActivity activity= (IWeiBoActivity) getActivityByName("LoginActivity");//根据活动名,获取当前活动对象
activity.refresh(msg.obj);
break;
default:
break;
}
}
};
最后、LoginActivity中的refresh()方法
@Override
public void refresh(Object...params) { //Object...params相当于长度可变的对象数组
//在这里执行相应的UI操作,setText(params[0].toString())
Intent intent=new Intent(LoginActivity.this,HomeActivity.class);
startActivity(intent);
}
二、在Login页面init()之前判断,是否含有文件
Intent service=new Intent(this,MainService.class); //开启service
startService(service);
MainService.newActivity(this); //将本活动加入到活动集合中
nowUser= SharedPreferenceUtil.getLoginUser(getApplicationContext());
if(nowUser!=null){
//跳转
Intent intent=new Intent(LoginActivity.this,HomeActivity.class); //有直接跳转到主页面
startActivity(intent);
}else{
init();
}
三、获取ListView上点击的当前对象
*********************** public static UserInfo userInfo;
view = LayoutInflater.from(context).inflate(R.layout.user_selected_templete, null);//加载布局文件,返回v对象
// ImageView img_head= (ImageView) view.findViewById(R.id.img_user_head);//创建实例对象
TextView text_name = (TextView) view.findViewById(R.id.text_user_name);
******************* userInfo = userInfos.get(position);//获取某个用户,这里才有获取某个单独用户的例子
// img_head.setImageDrawable(userInfo.getUserIcon());//setImageDrawable是img_head自己独有的
text_name.setText(userInfo.getUserId());//在Adapter中设置用户的ID
//上面还没有获取用户的头像,姓名
四、在TextView的中获取nowUser对象
TextView text_name = (TextView) view.findViewById(R.id.text_user_name);//listview中text控件的实例对象
textViewUserId.setText(text_name.getText());
************** nowUser=UserAdapter.userInfo;//从适配器中获取当前用户对象
dialog.dismiss();
五、在登录按钮中,创建一个Task对象,放入操作的case和当前用户,然后让MainService执行,页面登录操作
SharedPreferenceUtil.saveLoginUser(this,nowUser);//保存登录信息
Map<String ,Object> taskParams=new HashMap<String, Object>() ; // 创建HashMap用于存放task要的参数
taskParams.put("user",nowUser);//将现在登录的用户保存到taskparams中
Task task=new Task(Task.WEIBO_LOGIN,taskParams);
MainService.newTask(task); //加入任务
六、在doTask中获取当前用户nowuser,并且对微博进行授权、MainService中的操作就是在Handler中处理,实现刷新UI,调用refresh()方法,实现页面跳转
//doTask(Task t)处理业务逻辑
private void doTask(Task t){
// 尽量使用 Message msg = handler.obtainMessage();的形式创建Message.msg.obj = result1; //msg.obj=?从这里把你想传递的数据放进去就行了
Message msg=handler.obtainMessage();
msg.what=t.getTaskId();
switch (t.getTaskId()){
case Task.WEIBO_LOGIN:
nowUser= (UserInfo) t.getTaskParams().get("user");
weibo.setToken(nowUser.getToken(),nowUser.getTokenSecret());
break;
default:
break;
}
handler.sendMessage(msg);
}
//异步处理
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case Task.WEIBO_LOGIN: //用户登录
//跟新UI
Log.d("使用了Service","---------------------->");
IWeiBoActivity activity= (IWeiBoActivity) getActivityByName("LoginActivity");//根据活动名,获取当前活动对象
activity.refresh(msg.obj);
break;
default:
break;
}
}
};
最后、LoginActivity中的refresh()方法
@Override
public void refresh(Object...params) { //Object...params相当于长度可变的对象数组
//在这里执行相应的UI操作,setText(params[0].toString())
Intent intent=new Intent(LoginActivity.this,HomeActivity.class);
startActivity(intent);
}
0 0
- 13.13.用文件存储和MainServices实现页面跳转问题
- 页面实现跳转和刷新
- 页面实现跳转和刷新
- ajax post请求之后 实现页面跳转和带参数跳转问题
- 关于两个Activity实现页面跳转问题
- 用html实现页面跳转
- JAVA和MySQL实现分页和页面跳转指定当前显示页数的问题
- Meego touch实现页面跳转和返回
- Meego touch实现页面跳转和返回
- 整理JS和C#实现页面跳转
- 使用js实现倒数和跳转页面
- display中文和页面跳转功能实现
- html和js实现页面跳转方法
- jsp实现分页和页面跳转功能
- Intent实现页面的跳转和返回
- js和jquery简单实现页面跳转
- Handler和Timer实现倒计时跳转页面
- Intent实现页面跳转和传值
- 13.SharedPreference的使用
- Hive的使用之hwi
- 建议33:避免在泛型类型中声明静态成员
- Android10--Android之动态代理详解
- Service学习之路(03)之绑定本地Service并与之通信
- 13.13.用文件存储和MainServices实现页面跳转问题
- Android Studio 打包jar,aar
- 删除文件和文件夹
- BaseServlet
- Linux如此“自私”?
- 前十大编程语言你会几种?
- Android最牛逼的多条件筛选菜单
- C 指针常识的小结
- 14.TabHosty以及RadioGroup实现微博主页面切换