Radiogroup+radioButton+fragment
来源:互联网 发布:正规网络兼职打字员 编辑:程序博客网 时间:2024/06/06 05:46
———–xml———-
main类
package com.example.yunifang_2;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import com.bawei.banben.Conf;
import com.bawei.banben.UpdateEntity;
import com.bawei.banben.UpdateTools;
import com.bawei.fragmnet.MainFragmentActivity;
import com.bawei.fragmnet.buyFragmentActivity;
import com.bawei.fragmnet.mimeFragmentActivity;
import com.bawei.fragmnet.typeFragmentActivity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.FrameLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class TwoActivity extends FragmentActivity implements OnClickListener {
private FrameLayout main_content;
private RadioGroup rg;
private RadioButton rb1;
private RadioButton rb2;
private RadioButton rb3;
private RadioButton rb4;
private MainFragmentActivity f1;
private typeFragmentActivity f2;
private buyFragmentActivity f3;
private mimeFragmentActivity f4;
private FragmentManager fm;
private AlertDialog dialog;
private UpdateEntity updateEntity;private TextView tv_name;/** * 消息机制 */private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); switch (msg.what) { case 0: dialog.setMessage(updateEntity.getDescription()); dialog.show(); break; case 1: downLoadApk(); break; } }};@Overrideprotected void onCreate(Bundle savedInstanceState) { getWindow().setFormat(PixelFormat.TRANSLUCENT); // 解决黑屏闪动的问题 super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); // 初始化数据 initView(); fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); init(); ft.add(R.id.fl, f1); ft.add(R.id.fl, f2); ft.add(R.id.fl, f3); ft.add(R.id.fl, f4); ft.hide(f2).hide(f3).hide(f4).show(f1); ft.commit(); // 判断是否联网 getNetInfor(); dialog = new AlertDialog.Builder(TwoActivity.this). setTitle("升级提醒"). setIcon(R.drawable.ic_launcher). setPositiveButton("在线升级", onclick). setNegativeButton("不想升级", null). create(); //开启线程 new Thread(new CheckVersionTask()).start();}DialogInterface.OnClickListener onclick = new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub handler.sendEmptyMessage(1); }};/* * 从服务器中下载APK */protected void downLoadApk() { final ProgressDialog pd; //进度条对话框 pd = new ProgressDialog(this); pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pd.setMessage("正在下载更新"); pd.show(); new Thread(){ @Override public void run() { try { File file = getFileFromServer(updateEntity.getUrl(), pd); sleep(3000); UpdateTools tools = new UpdateTools(); //安装APk tools.installApk(file,TwoActivity.this); pd.dismiss(); //结束掉进度条对话框 } catch (Exception e) { e.printStackTrace(); } }}.start();}/* * 从服务器获取xml解析并进行比对版本号 */public class CheckVersionTask implements Runnable{ public void run() { try { //从资源文件获取服务器 地址 String path = getResources().getString(R.string.serverurl); //包装成url的对象 URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5000); InputStream is =conn.getInputStream(); updateEntity = UpdateTools.getUpdataInfo(is); int versionCode = TwoActivity.this.getPackageManager().getPackageInfo(TwoActivity.this.getPackageName(), 0).versionCode; if(Integer.parseInt(updateEntity.getVersion()) <= versionCode){ Log.i("xxx","版本号相同无需升级"); }else{ Log.i("xxxx","版本号不同 ,提示用户升级 "); handler.sendEmptyMessage(0); } } catch (Exception e) { e.printStackTrace(); } }}/** * 下载方法 * * @param path * @param pd * @return * @throws Exception */public File getFileFromServer(String path, ProgressDialog pd) throws Exception { // 如果相等的话表示当前的sdcard挂载在手机上并且是可用的 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5000); // 获取到文件的大小 pd.setMax(conn.getContentLength()); InputStream is = conn.getInputStream(); File file = new File(Environment.getExternalStorageDirectory(), "updata.apk"); FileOutputStream fos = new FileOutputStream(file); BufferedInputStream bis = new BufferedInputStream(is); byte[] buffer = new byte[1024]; int len; int total = 0; while ((len = bis.read(buffer)) != -1) { fos.write(buffer, 0, len); total += len; // 获取当前下载量 pd.setProgress(total); } fos.close(); bis.close(); is.close(); return file; } else { return null; }}@Overrideprotected void onPause() { Log.w(Conf.TAG, "Activity1.onPause()"); // TODO Auto-generated method stub super.onPause();}@Overrideprotected void onResume() { Log.w(Conf.TAG, "Activity1.onResume()"); // TODO Auto-generated method stub super.onResume();}private void getNetInfor() { // TODO Auto-generated method stub // 首先是获取网络连接管理者 ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); // 网络状态存在并且是已连接状态 if (info != null && info.isConnected()) { Toast.makeText(TwoActivity.this, "网络已连接", Toast.LENGTH_SHORT) .show(); } else { Toast.makeText(TwoActivity.this, "网络连接失败", Toast.LENGTH_SHORT) .show(); // 新建一个对话框提示请检查网络 点击确定进入到系统的设置页面重新设置网络 new AlertDialog.Builder(TwoActivity.this) .setTitle("请检查网络连接") .setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (android.os.Build.VERSION.SDK_INT > 10) { // 安卓系统3.0以上打开设置界面,也可以直接用ACTION_WIRELESS_SETTINGS打开到wifi界面 startActivity(new Intent( android.provider.Settings.ACTION_SETTINGS)); } else { startActivity(new Intent( android.provider.Settings.ACTION_WIRELESS_SETTINGS)); } } }).show(); }}private void init() { // TODO Auto-generated method stub f1 = new MainFragmentActivity(); f2 = new typeFragmentActivity(); f3 = new buyFragmentActivity(); f4 = new mimeFragmentActivity();}private void initView() { // TODO Auto-generated method stub main_content = (FrameLayout) findViewById(R.id.fl); rg = (RadioGroup) findViewById(R.id.tab_menu); rb1 = (RadioButton) findViewById(R.id.rb1); rb2 = (RadioButton) findViewById(R.id.rb2); rb3 = (RadioButton) findViewById(R.id.rb3); rb4 = (RadioButton) findViewById(R.id.rb4); rb1.setOnClickListener(this); rb2.setOnClickListener(this); rb3.setOnClickListener(this); rb4.setOnClickListener(this);}@Overridepublic void onClick(View v) { FragmentTransaction ft = fm.beginTransaction(); switch (v.getId()) { case R.id.rb1: ft.show(f1).hide(f2).hide(f3).hide(f4); ft.commit(); break; case R.id.rb2: ft.show(f2).hide(f1).hide(f3).hide(f4); ft.commit(); break; case R.id.rb3: ft.show(f3).hide(f1).hide(f2).hide(f4); ft.commit(); break; case R.id.rb4: ft.show(f4).hide(f1).hide(f2).hide(f3); ft.commit(); break; }}
}
- Radiogroup+radioButton+fragment
- RadioGroup+RadioButton切换Fragment
- 底部按钮RadioButton、RadioGroup和Fragment
- RadioGroup && RadioButton
- RadioGroup,RadioButton
- RadioButton&RadioGroup
- RadioGroup+RadioButton
- RadioButton&RadioGroup
- RadioButton+RadioGroup
- RadioGroup与Radiobutton对fragment进行滑动、点击监听
- RadioGroup和Fragment相结合实现点击RadioButton进行Fragment的切换
- RadioGroup+Fragment
- radioGroup+fragment
- RadioGroup RadioButton ,checkBox ,menu
- RadioGroup RadioButton的Demo
- RadioGroup和RadioButton
- RadioGroup布局RadioButton
- RadioGroup、RadioButton实例
- KMP算法理解
- java_(3)cxf搭建webservice
- Linux正则表达式相关知识及命令的使用方法
- memcache 简单代码实现关键字
- 数据结构----关键路径详解
- Radiogroup+radioButton+fragment
- Python项目模拟登录学校正方教务系统抓取课程表。
- win10.64位搭建Php开发环境(PHP7.0.11+Apache2.4.23+Mysql-5.7.15 )安装配置图文教程
- Android开发之手把手教你写ButterKnife框架(二)
- 欧洲净水霸主BARRIER正式登陆中国 创新中国人饮水方式
- MyBatis基础知识
- 习题7--更多打印
- LwIP的操作系统模拟层移植
- XML的解析02