Android实训.docx
- 文档编号:7364165
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:11
- 大小:127.53KB
Android实训.docx
《Android实训.docx》由会员分享,可在线阅读,更多相关《Android实训.docx(11页珍藏版)》请在冰豆网上搜索。
Android实训
计算机科学与技术学院
课程设计
题目:
仿QQ界面设计
学生姓名:
唐开华学号153891003
专业:
计算机科学与技术
2016年06月26日
目录
一、核心技术及开发工具2
1.1AndroidStudio开发工具简介2
1.2AndroidSDK简介2
二、核心代码2
三、实现界面7
3.1引导界面7
3.2登陆界面8
3.3主界面8
四、总结9
1、核心技术及开发工具
1.1AndroidStudio开发工具简介
Android Studio 是一个全新的Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
在IDEA的基础上,AndroidStudio提供基于Gradle的构建支持,Android专属的重构和快速修复,提示工具以捕获性能、可用性、版本兼容性等问题。
支持ProGuard和应用签名,基于模板的向导来生成常用的Android应用设计和组建,功能强大的布局编辑器,可以让你拖拉UI空间并进行效果预览。
1.2AndroidSDK简介
AndroidSDK是软件开发工具包。
被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
AndroidSDK指的是Android专属的软件开发工具包。
AndroidSDK主要以Java语言为基础,用户可以使用Java语言来开发Android平台上的软件应用。
通过SD看提供的一些工具将其打包成Android平台使用的apk文件,然后用SDK中的模拟器来模拟和测试软件在Android平台上运行情况和效果。
2、核心代码
publicclassMainActivityextendsFragmentActivity{
privateImageButtoniBtnNews,iBtnContracts,iBtnDynamics;
privateViewcurrentView;
privateStringTag="MainActivity";
privateTextViewmTopCenterText;
privateRelativeLayoutmTopCenterRelative;
privateTextViewmTopRightText;
privateImageButtonmTopRightImgBtn;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initEvent();
}
publicvoidinitView(){
iBtnNews=(ImageButton)findViewById(R.id.id_btn_news);
iBtnContracts=(ImageButton)findViewById(R.id.id_btn_contact);
iBtnDynamics=(ImageButton)findViewById(R.id.id_btn_danamic);
mTopCenterText=(TextView)findViewById(R.id.topcenter_text);
mTopCenterRelative=(RelativeLayout)findViewById(R.id.topcenter_relative);
mTopRightText=(TextView)findViewById(R.id.topRightText);
mTopRightImgBtn=(ImageButton)findViewById(R.id.toprightImgBtn);
}
publicvoidinitEvent(){
iBtnNews.setOnClickListener(newsOnClickListener);
iBtnContracts.setOnClickListener(contractsOnClickListener);
iBtnDynamics.setOnClickListener(dynamicsOnClickListener);
iBtnNews.performClick();
}
privateView.OnClickListenernewsOnClickListener=newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
replaceFragment(newNewsFragment());
setTopvisible(v);
setBtnEnable(v);
}
};
privatevoidsetTopvisible(Viewv){
setTopGone();
switch(v.getId()){
caseR.id.id_btn_news:
{
if(mTopCenterRelative.getVisibility()==View.GONE){
mTopCenterRelative.setVisibility(View.VISIBLE);
}
if(mTopRightImgBtn.getVisibility()==View.GONE){
mTopRightImgBtn.setVisibility(View.VISIBLE);
}
break;
}
caseR.id.id_btn_contact:
{
if(mTopCenterText.getVisibility()==View.GONE){
mTopCenterText.setVisibility(View.VISIBLE);
mTopCenterText.setText("联系人");
}
if(mTopRightText.getVisibility()==View.GONE){
mTopRightText.setVisibility(View.VISIBLE);
mTopRightText.setText("添加");
}
break;
}
caseR.id.id_btn_danamic:
{
if(mTopCenterText.getVisibility()==View.GONE){
mTopCenterText.setVisibility(View.VISIBLE);
mTopCenterText.setText("动态");
}
if(mTopRightText.getVisibility()==View.GONE){
mTopRightText.setVisibility(View.VISIBLE);
mTopRightText.setText("更多");
}
break;
}
}
}
privatevoidsetTopGone(){
/*隐藏top控件*/
if(mTopCenterText.getVisibility()==View.VISIBLE){
mTopCenterText.setVisibility(View.GONE);
}
if(mTopCenterRelative.getVisibility()==View.VISIBLE){
mTopCenterRelative.setVisibility(View.GONE);
}
if(mTopRightText.getVisibility()==View.VISIBLE){
mTopRightText.setVisibility(View.GONE);
}
if(mTopRightImgBtn.getVisibility()==View.VISIBLE){
mTopRightImgBtn.setVisibility(View.GONE);
}
}
privateView.OnClickListenercontractsOnClickListener=newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
replaceFragment(newContractsFragment());
setTopvisible(v);
setBtnEnable(v);
}
};
privateView.OnClickListenerdynamicsOnClickListener=newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
replaceFragment(newDynamicsFragment());
setTopvisible(v);
setBtnEnable(v);
}
};
publicvoidsetBtnEnable(Viewv){
if(currentView!
=null&¤tView.getId()!
=v.getId()){
currentView.setEnabled(true);
}
v.setEnabled(false);
currentView=v;
}
publicvoidreplaceFragment(Fragmentfragment){
FragmentManagerfm=getSupportFragmentManager();
FragmentTransactionft=fm.beginTransaction();
ft.replace(R.id.id_content_frame,fragment,Tag);
mit();
}
}
xmlversion="1.0"encoding="utf-8"?
>
android=" android: layout_width="match_parent" android: layout_height="match_parent" android: orientation="vertical"> android: layout_width="match_parent" android: layout_height="40dp" android: background="@drawable/skin_searchbar_input" android: gravity="center" android: padding="5dp"> android: layout_width="wrap_content" android: layout_height="wrap_content" android: drawableLeft="@mipmap/skin_searchbar_icon" android: text="@string/search_bar" android: textSize="18sp"/> android: layout_width="match_parent" android: layout_height="120dp" android: orientation="horizontal"> android: id="@+id/id_iv_contact_newfriend" style="@style/ContactIamge" android: background="@mipmap/qq_contact_list_newfriend_enter_icon_theme_version2"/> style="@style/ContactImageText" android: layout_below="@+id/id_iv_contact_newfriend" android: text="@string/new_friend"/> android: id="@+id/id_iv_contact_specialcare" style="@style/ContactIamge" android: background="@mipmap/qq_specialcare_icon"/> style="@style/ContactImageText" android: layout_below="@+id/id_iv_contact_specialcare" android: text="@string/special_care"/> android: id="@+id/id_iv_contact_troop" style="@style/ContactIamge" android: background="@mipmap/qq_contact_list_troop_entry_icon"/> style="@style/ContactImageText" android: layout_below="@+id/id_iv_contact_troop" android: text="@string/troop_chat"/> android: id="@+id/id_iv_contact_pbaccount" style="@style/ContactIamge" android: background="@mipmap/qq_contact_list_pbaccount_entry_icon_theme_version2"/> style="@style/ContactImageText" android: layout_below="@+id/id_iv_contact_pbaccount" android: text="@string/pb_account"/> -- --android: layout_width="match_parent"--> --android: layout_height="25dp"--> --android: background="@color/devide_line"/>--> android: id="@+id/id_elv_contact_small" android: layout_width="match_parent" android: layout_height="match_parent"> android: layout_width="match_parent" android: layout_height="50dp" android: background="@color/devide_line"> android: id="@+id/id_elv_contact_big" android: layout_width="match_parent" android: layout_height="match_parent"> 3、实现界面 3.1引导界面 3.2登陆界面 3.3主界面 4、总结 该设计运用了fragment,intent,ExpandableListView等技术,在AndroidStudio上实现了模拟QQ界面转换的功能,以上是设计的核心代码和最后的实现界面。 通过这个课程设计,使得我对Android有了一定的了解,在此过程中,也遇到了很多问题,例如图片放在了mipmap中,图片只能放在drawable文件中,布局里scrollview只能有一个子布局。 通过这次课程设计,我意识到了理论知识和实际操作结合的重要性,以后会加强对Android的了解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 实训
![提示](https://static.bdocx.com/images/bang_tan.gif)