JAVA高階程式設計四月模擬考
**
MainActivity中輪播圖,劃至最後一張進入登入頁面
package com.bwie.newsmonth04;
import android.content.Intent; import android.content.SharedPreferences; import android.support.annotation.NonNull; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView;
import com.bwie.newsmonth04.base.BaseActivity;
import java.util.ArrayList; import java.util.List;
public class MainActivity extends BaseActivity implements View.OnClickListener {
private ViewPager vpSplash; private List<Integer> imgIds; private Button btnGotoMain; private SharedPreferences sp; @Override protected int getContentView() { return R.layout.activity_main; } @Override protected void initView() { vpSplash = findViewById(R.id.vp_splash); btnGotoMain = findViewById(R.id.btn_goto_main); } @Override protected void initData() { super.initData(); sp = getSharedPreferences("config", MODE_PRIVATE); if (!sp.getBoolean("is_first", true)) { Intent intent = new Intent(this, LoginActivity.class); startActivity(intent); finish(); return; } imgIds = new ArrayList<>(); imgIds.add(R.drawable.a1); imgIds.add(R.drawable.a2); imgIds.add(R.drawable.a3); vpSplash.setAdapter(new PagerAdapter() { @Override public int getCount() { return imgIds.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view == object; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { ImageView img = new ImageView(mContext); img.setImageResource(imgIds.get(position)); container.addView(img); return img; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView((View) object); } }); } @Override protected void setListener() { super.setListener(); vpSplash.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { if (position == imgIds.size() - 1) { btnGotoMain.setVisibility(View.VISIBLE); } else { btnGotoMain.setVisibility(View.GONE); } } @Override public void onPageScrollStateChanged(int state) { } }); btnGotoMain.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_goto_main: Intent intent = new Intent(this, LoginActivity.class); startActivity(intent); break; } }
} **
登入頁面,通過網址獲取賬戶密碼
**
**
package com.bwie.newsmonth04;
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.widget.Button; import android.widget.EditText;
import com.bwie.newsmonth04.base.BaseActivity; import com.bwie.newsmonth04.bean.LoginResult; import com.bwie.newsmonth04.constant.ServerUrl; import com.bwie.newsmonth04.utils.HttpUtils; import com.google.gson.Gson;
public class LoginActivity extends BaseActivity implements View.OnClickListener { public static final int FLAG = 123;
private EditText etUsername;
private EditText etPassword;
private Button btnLogin;
private SharedPreferences sp;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case FLAG:
String result = (String) msg.obj;
Gson gson = new Gson();
LoginResult loginResult = gson.fromJson(result, LoginResult.class);
if (loginResult != null) {
if (loginResult.getCode() == 0) {
sp.edit().putBoolean("is_first", false).commit();
Intent intent = new Intent(mContext, HomeActivity.class);
startActivity(intent);
}
}
break;
}
}
};
@Override
protected int getContentView() {
return R.layout.activity_login;
}
@Override
protected void initView() {
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
btnLogin = findViewById(R.id.btn_login);
}
@Override
protected void initData() {
super.initData();
sp = getSharedPreferences("config", MODE_PRIVATE);
}
@Override
protected void setListener() {
super.setListener();
btnLogin.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_login:
final String username = etUsername.getText().toString().trim();
final String password = etPassword.getText().toString();
// if (username.equals())
new Thread(new Runnable() {
@Override
public void run() {
String url = ServerUrl.LOGIN_URL + "mobile=" + username + "&password=" + password;
String result = HttpUtils.getStringFromHttp(url);
Message msg = Message.obtain();
msg.what = FLAG;
msg.obj = result;
handler.sendMessage(msg);
}
}).start();
break;
}
}
}
** **
登入LoginResult
package com.bwie.newsmonth04.bean;
/**
- Created by eric on 2018/9/20. */
public class LoginResult { private String msg; private int code;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
** **
進入顯示頁面,上面是輪播圖,下面多條目載入繼承BaseActivity
package com.bwie.newsmonth04;
import android.support.annotation.Nullable; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle;
import com.bwie.newsmonth04.base.BaseActivity; import com.bwie.newsmonth04.fragment.EmptyFragment; import com.bwie.newsmonth04.fragment.NewsFragment;
import java.util.ArrayList; import java.util.List;
public class HomeActivity extends BaseActivity {
private TabLayout tblNews;
private ViewPager vpNews;
private List<String> titles;
private List<Fragment> fragmentList;
@Override
protected int getContentView() {
return R.layout.activity_home;
}
@Override
protected void initView() {
tblNews = findViewById(R.id.tbl_news);
vpNews = findViewById(R.id.vp_news);
}
@Override
protected void initData() {
super.initData();
titles = new ArrayList<>();
tblNews.setTabMode(TabLayout.MODE_SCROLLABLE);
addData();
fragmentList = new ArrayList<>();
fragmentList.add(new NewsFragment());
for (int i = 1; i < titles.size(); i++) {
EmptyFragment fragment = EmptyFragment.newInstance(titles.get(i));
fragmentList.add(fragment);
}
vpNews.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titles.get(position);
}
});
tblNews.setupWithViewPager(vpNews);
}
private void addData() {
titles.add("關注");
titles.add("熱門");
titles.add("新聞");
titles.add("影視");
titles.add("段子");
titles.add("教育");
titles.add("房產");
titles.add("汽車");
titles.add("政治");
}
}
**
需要繼承的BaseActivity類
package com.bwie.newsmonth04.base;
import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity;
/**
- Created by eric on 2018/9/20. */
public abstract class BaseActivity extends AppCompatActivity { protected Context mContext; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this;
previewAction();
setContentView(getContentView());
initView();
initData();
setListener();
setMoreAction();
}
protected void previewAction() {
}
protected abstract int getContentView();
protected abstract void initView();
protected void initData() {
}
protected void setListener() {
}
protected void setMoreAction() {
}
}
**
News類
**
**顯示頁面的NewsFragment
package com.bwie.newsmonth04.fragment;
import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView;
import com.bwie.newsmonth04.R; import com.bwie.newsmonth04.adapter.NewsAdapter; import com.bwie.newsmonth04.bean.Banner; import com.bwie.newsmonth04.bean.News; import com.bwie.newsmonth04.constant.ServerUrl; import com.bwie.newsmonth04.db.NewsDao; import com.bwie.newsmonth04.utils.HttpUtils; import com.bwie.newsmonth04.utils.NetUtils; import com.bwie.xlistview.XListView; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList; import java.util.List;
public class NewsFragment extends Fragment { private int page = 1; private ViewPager vpBanner; private XListView xlvNews; private NewsAdapter adapter; private List<News.DataBean> list; private boolean isLoadMore = false; private NewsDao dao;
private Handler handler = new Handler();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_news, container, false);
vpBanner = v.findViewById(R.id.vp_banner);
xlvNews = v.findViewById(R.id.xlv_news);
return v;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initData();
setListerner();
getBanner();
getNews();
}
private void setListerner() {
xlvNews.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
page = 1;
isLoadMore = false;
getNews();
}
@Override
public void onLoadMore() {
page++;
isLoadMore = true;
getNews();
}
});
}
private void initData() {
xlvNews.setPullLoadEnable(true);
xlvNews.setPullRefreshEnable(true);
dao = new NewsDao(getActivity());
list = new ArrayList<>();
adapter = new NewsAdapter(getActivity(), list);
xlvNews.setAdapter(adapter);
}
private void getBanner() {
new AsyncTask<String, Integer, String>() {
@Override
protected String doInBackground(String... strings) {
return HttpUtils.getStringFromHttp(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
Banner banner = gson.fromJson(s, Banner.class);
if (banner != null) {
final List<Banner.DataBean> data = banner.getData();
vpBanner.setAdapter(new PagerAdapter() {
@Override
public int getCount() {
return data.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView img = new ImageView(getActivity());
ImageLoader.getInstance().displayImage(data.get(position).getImg(), img);
container.addView(img);
return img;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
});
}
}
}.execute(ServerUrl.BANNER_URL);
}
private void getNews() {
if (NetUtils.isNetworkAvailable(getActivity())) {
getNewsFromHttp();
} else {
getNewsFromDB();
}
}
private void getNewsFromDB() {
List<News.DataBean> data = dao.queryByPage(page);
if (data != null) {
if (!isLoadMore) {
list.clear();
}
list.addAll(data);
adapter.notifyDataSetChanged();
}
}
private void getNewsFromHttp() {
String url = ServerUrl.NEWS_URL + page;
new AsyncTask<String, Integer, String>() {
@Override
protected String doInBackground(String... strings) {
return HttpUtils.getStringFromHttp(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (isLoadMore) {
xlvNews.stopLoadMore();
} else {
xlvNews.stopRefresh();
}
}
}, 200);
Gson gson = new Gson();
News news = gson.fromJson(s, News.class);
if (news != null) {
List<News.DataBean> data = news.getData();
if (data != null) {
if (!isLoadMore) {
list.clear();
}
list.addAll(data);
adapter.notifyDataSetChanged();
dao.insert(list);
}
}
}
}.execute(url);
}
}
**
資料庫DBHepler類
**package com.bwie.newsmonth04.db;
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;
/**
- Created by eric on 2018/9/20. */
public class DBHelper extends SQLiteOpenHelper { private static final String DB_NAME = “news.db”; private static final int DB_VERSION = 1;
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table " + NewsDao.TABLE_NAME + "(" +
NewsDao.COLUMN_ID + " text primary key," +
NewsDao.COLUMN_TITLE + " text," +
NewsDao.COLUMN_DATE + " text," +
NewsDao.COLUMN_CATEGORY + " text," +
NewsDao.COLUMN_AUTHOR_NAME + " text," +
NewsDao.COLUMN_URL + " text," +
NewsDao.COLUMN_THUMBNAIL_01 + " text," +
NewsDao.COLUMN_THUMBNAIL_02 + " text," +
NewsDao.COLUMN_THUMBNAIL_03 + " text)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
資料庫NewsDao
package com.bwie.newsmonth04.db;
import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils;
import com.bwie.newsmonth04.bean.News;
import java.util.ArrayList; import java.util.List;
/**
- Created by eric on 2018/9/20. */
public class NewsDao { public static final String TABLE_NAME = “news”; public static final String COLUMN_ID = “id”; public static final String COLUMN_TITLE = “title”; public static final String COLUMN_DATE = “_date”; public static final String COLUMN_CATEGORY = “category”; public static final String COLUMN_AUTHOR_NAME = “author_name”; public static final String COLUMN_URL = “url”; public static final String COLUMN_THUMBNAIL_01 = “thumbnail01”; public static final String COLUMN_THUMBNAIL_02 = “thumbnail02”; public static final String COLUMN_THUMBNAIL_03 = “thumbnail03”; private final SQLiteDatabase db;
public NewsDao(Context context) {
DBHelper helper = new DBHelper(context);
db = helper.getWritableDatabase();
}
public int insert(List<News.DataBean> news) {
int count = 0;
ContentValues values = new ContentValues();
for (News.DataBean dataBean : news) {
if (!hasId(dataBean.getUniquekey())) {
values.put(COLUMN_ID, dataBean.getUniquekey());
values.put(COLUMN_TITLE, dataBean.getTitle());
values.put(COLUMN_DATE, dataBean.getDate());
values.put(COLUMN_CATEGORY, dataBean.getCategory());
values.put(COLUMN_AUTHOR_NAME, dataBean.getAuthorName());
values.put(COLUMN_URL, dataBean.getUrl());
values.put(COLUMN_THUMBNAIL_01, TextUtils.isEmpty(dataBean.getThumbnail01()) ? "" : dataBean.getThumbnail01());
values.put(COLUMN_THUMBNAIL_02, TextUtils.isEmpty(dataBean.getThumbnail02()) ? "" : dataBean.getThumbnail02());
values.put(COLUMN_THUMBNAIL_03, TextUtils.isEmpty(dataBean.getThumbnail03()) ? "" : dataBean.getThumbnail03());
long l = db.insert(TABLE_NAME, null, values);
if (l > 0) {
count++;
}
}
}
return count;
}
public List<News.DataBean> queryByPage(int page) {
List<News.DataBean> list = new ArrayList<>();
String limit = (page - 1) * 30 + ", 30";
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null, limit);
while (cursor.moveToNext()) {
News.DataBean bean = new News.DataBean();
bean.setUniquekey(cursor.getString(cursor.getColumnIndex(COLUMN_ID)));
bean.setTitle(cursor.getString(cursor.getColumnIndex(COLUMN_TITLE)));
bean.setCategory(cursor.getString(cursor.getColumnIndex(COLUMN_CATEGORY)));
bean.setDate(cursor.getString(cursor.getColumnIndex(COLUMN_DATE)));
bean.setAuthorName(cursor.getString(cursor.getColumnIndex(COLUMN_AUTHOR_NAME)));
bean.setUrl(cursor.getString(cursor.getColumnIndex(COLUMN_URL)));
String th1 = cursor.getString(cursor.getColumnIndex(COLUMN_THUMBNAIL_01));
String th2 = cursor.getString(cursor.getColumnIndex(COLUMN_THUMBNAIL_02));
String th3 = cursor.getString(cursor.getColumnIndex(COLUMN_THUMBNAIL_03));
bean.setThumbnail01(TextUtils.isEmpty(th1) ? "" : th1);
bean.setThumbnail02(TextUtils.isEmpty(th1) ? "" : th2);
bean.setThumbnail03(TextUtils.isEmpty(th1) ? "" : th3);
list.add(bean);
}
return list;
}
public boolean hasId(String id) {
Cursor cursor = db.query(TABLE_NAME, null, COLUMN_ID + "=?", new String[]{id}, null, null, null);
if (cursor.moveToNext()) {
return true;
}
return false;
}
}
**
介面卡多條目
package com.bwie.newsmonth04.adapter;
import android.content.Context; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView;
import com.bwie.newsmonth04.R; import com.bwie.newsmonth04.bean.News; import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**
- Created by eric on 2018/9/19. */
public class NewsAdapter extends BaseAdapter { private Context context; private List<News.DataBean> list; private static final int TYPE_ONE_PIC = 0; private static final int TYPE_TWO_PIC = 1; private static final int TYPE_THREE_PIC = 2;
public NewsAdapter(Context context, List<News.DataBean> list) {
this.context = context;
this.list = list;
}
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
News.DataBean bean = list.get(position);
if (!TextUtils.isEmpty(bean.getThumbnail03())) {
return TYPE_THREE_PIC;
} else if (!TextUtils.isEmpty(bean.getThumbnail02())) {
return TYPE_TWO_PIC;
} else {
return TYPE_ONE_PIC;
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder1 holder1 = null;
ViewHolder2 holder2 = null;
ViewHolder3 holder3 = null;
int type = getItemViewType(position);
switch (type) {
case TYPE_ONE_PIC:
if (convertView == null) {
holder1 = new ViewHolder1();
convertView = View.inflate(context, R.layout.item_news_01, null);
holder1.txtTitle = convertView.findViewById(R.id.txt_title);
holder1.imgLogo1 = convertView.findViewById(R.id.img_logo);
convertView.setTag(holder1);
} else {
holder1 = (ViewHolder1) convertView.getTag();
}
holder1.txtTitle.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail01(),
holder1.imgLogo1);
break;
case TYPE_TWO_PIC:
if (convertView == null) {
holder2 = new ViewHolder2();
convertView = View.inflate(context, R.layout.item_news_02, null);
holder2.txtTitle = convertView.findViewById(R.id.txt_title);
holder2.imgLogo1 = convertView.findViewById(R.id.img_logo1);
holder2.imgLogo2 = convertView.findViewById(R.id.img_logo2);
convertView.setTag(holder2);
} else {
holder2 = (ViewHolder2) convertView.getTag();
}
holder2.txtTitle.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail01(),
holder2.imgLogo1);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail02(),
holder2.imgLogo2);
break;
case TYPE_THREE_PIC:
if (convertView == null) {
holder3 = new ViewHolder3();
convertView = View.inflate(context, R.layout.item_news_03, null);
holder3.txtTitle = convertView.findViewById(R.id.txt_title);
holder3.imgLogo1 = convertView.findViewById(R.id.img_logo1);
holder3.imgLogo2 = convertView.findViewById(R.id.img_logo2);
holder3.imgLogo3 = convertView.findViewById(R.id.img_logo3);
convertView.setTag(holder3);
} else {
holder3 = (ViewHolder3) convertView.getTag();
}
holder3.txtTitle.setText(list.get(position).getTitle());
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail01(),
holder3.imgLogo1);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail02(),
holder3.imgLogo2);
ImageLoader.getInstance().displayImage(list.get(position).getThumbnail03(),
holder3.imgLogo3);
break;
}
return convertView;
}
class ViewHolder1 {
ImageView imgLogo1;
TextView txtTitle;
}
class ViewHolder2 {
ImageView imgLogo1;
ImageView imgLogo2;
TextView txtTitle;
}
class ViewHolder3 {
ImageView imgLogo1;
ImageView imgLogo2;
ImageView imgLogo3;
TextView txtTitle;
}
}
**
標題欄的資料類Channel
package com.bwie.newsmonth04.bean;
import java.util.List;
/**
- Created by eric on 2018/9/20. */
public class Banner {
private String msg;
private int code;
private List<DataBean> data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* uniquekey : 5eb6399ece021029a1a25bbfcdfdfbb4
* title : 勇士超強戰術遇難題,高效打法第一又何妨?恰好撞火箭防守鐵桶陣
* date : 2018-05-12 09:38
* category : 體育
* author_name : 鳳凰網
* url : http://mini.eastday.com/mobile/180512093818317.html
* img : http://09.imgmini.eastday.com/mobile/20180512/20180512093818_afba29fb6a2116e29ea41721c8a68f75_1_mwpm_03200403.jpg
*/
private String uniquekey;
private String title;
private String date;
private String category;
private String url;
private String img;
public String getUniquekey() {
return uniquekey;
}
public void setUniquekey(String uniquekey) {
this.uniquekey = uniquekey;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
}
}
**
EmptyFragment類
package com.bwie.newsmonth04.fragment;
import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView;
import com.bwie.newsmonth04.R;
public class EmptyFragment extends Fragment { private static final String ARG_PARAM1 = “param1”;
private TextView txtShow;
public EmptyFragment() {
}
public static EmptyFragment newInstance(String param) {
EmptyFragment fragment = new EmptyFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_empty, container, false);
txtShow = v.findViewById(R.id.txt_show);
return v;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle bundle = getArguments();
String str = bundle.getString(ARG_PARAM1);
txtShow.setText(str);
}
}
**
**BaseApplication工具類
**package com.bwie.newsmonth04;
import android.app.Application;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
/**
- Created by eric on 2018/9/20. */
public class BaseApplication extends Application { @Override public void onCreate() { super.onCreate(); ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this) .build(); ImageLoader.getInstance().init(configuration); } }
**
佈局檔案
**
輪播圖佈局
<?xml version="1.0" encoding="utf-8"?><android.support.v4.view.ViewPager
android:id="@+id/vp_splash"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/btn_goto_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="30dp"
android:text="進入頁面"
android:visibility="gone" />
**
登入佈局 **
<?xml version="1.0" encoding="utf-8"?><EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入使用者名稱" />
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入密碼" />
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登入" />
**
顯示佈局
<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.TabLayout
android:id="@+id/tbl_news"
android:layout_width="match_parent"
android:layout_height="wrap_content"></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/vp_news"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v4.view.ViewPager>
**
多條目顯示佈局
<?xml version="1.0" encoding="utf-8"?><android.support.v4.view.ViewPager
android:id="@+id/vp_banner"
android:layout_width="match_parent"
android:layout_height="200dp"></android.support.v4.view.ViewPager>
<com.bwie.xlistview.XListView
android:id="@+id/xlv_news"
android:layout_width="match_parent"
android:layout_height="wrap_content"></com.bwie.xlistview.XListView>
** **
**顯示佈局
<?xml version="1.0" encoding="utf-8"?><TextView
android:id="@+id/txt_show"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
多條目佈局
<?xml version="1.0" encoding="utf-8"?><ImageView
android:id="@+id/img_logo"
android:layout_width="75dp"
android:layout_height="75dp" />
<TextView
android:id="@+id/txt_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp" />