1、​​酷跑项目:崩溃自动重启功能​​​ 2、​​酷跑项目:首页跳转+底部菜单联动​​ 3、​​酷跑项目:百度地图获取定位​​ 4、​​酷跑项目:模拟路线和显示数据​

完全退出

【达内课程】酷跑项目:完全退出_升级
首先写一个父类BaseActivity

public class BaseActivity extends FragmentActivity {
//把共同功能放在父类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//把当前activity放进ActivityList中
MyApplication application = (MyApplication) getApplication();
//this指的是调用这个方法的当前对象
application.activities.add(this);
}

@Override
protected void onDestroy() {
MyApplication application = (MyApplication)getApplication();
application.activities.remove(this);
super.onDestroy();
}
}

MainActivity改为继承BaseActivity

public class MainActivity extends BaseActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//停2s跳转MainFragmentActivity
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
//2s后执行
@Override
public void run() {
startActivity(new Intent(MainActivity.this, MainFragmentActivity.class));
}
},2000);

}
}

MainFragmentActivity同样继承自BaseActivity

public class MainFragmentActivity extends BaseActivity {
......
}

MeFragment对应的布局是fragment_me

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="52dp"
android:background="@color/title_bg_green">

<TextView
android:id="@+id/textView1"
style="@style/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="我的" />

</RelativeLayout>

<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/margin_middle">

<Button
android:id="@+id/btn_me_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_button"
android:text="检查更新" />

<Button
android:id="@+id/btn_me_recommend"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_middle"
android:background="@drawable/title_button"
android:text="推荐" />

<Button
android:id="@+id/btn_me_exit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_middle"
android:background="@drawable/title_button"
android:text="退出" />
</LinearLayout>

</LinearLayout>

其中title_text是style文件中的一个样式

<style name="title_text">
<item name="android:textColor">@android:color/white</item>
<item name="android:textSize">@dimen/title_text_size</item>
</style>

其中title_button是一张.9图
【达内课程】酷跑项目:完全退出_退出_02

MeFragment

public class MeFragment extends Fragment {
Button extButton;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_me,null);
initView(view);
setListener();
return view;
}

private void setListener() {
MyListener listener = new MyListener();
extButton.setOnClickListener(listener);
}

private void initView(View view) {
extButton = view.findViewById(R.id.btn_me_exit);
}

class MyListener implements View.OnClickListener{
@Override
public void onClick(View view) {
MainFragmentActivity activity = (MainFragmentActivity)getActivity();
MyApplication application = (MyApplication)activity.getApplication();
application.finish();
}
}
}