如何自己开发一个Android APP(2)——项目框架

.java文件

activity类

在我们创建自己的项目时,Eclipse会对应用进行设置并将主Activity作为主类——它在项目清单当中也将被作为主Activity进行显示。

这里的Activity类用于使Android系统处理向用户呈现的屏幕内容,而各方法则用于不同变量状态下的屏幕内容(创建、暂停与消除等)。

activity是java文件,用于程序最主要的开发。

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

以MainActivity类为例,首先要继承Activity类,实现onCreate()抽象方法。其中要调用父类方法super.onCreate(savedInstanceState);,并通过加载布局文件设置布局setContentView(R.layout.activity_main);。注意,要在AndroidManifest.xml文件中声明。

onCreate方法
在主Activity类当中,其中包含的代码将在Activity被创建——也就是应用程序启动时开始执行。

其中setContentView(R.layout.activity_main);用于指定我们所创建的布局文件,告诉Android将其作为内容视图,为Activity创建类文件时,需要利用setContentView进行布局设置。其中的“R”代表应用资源,后面的部分则用于指定保存在“res/layout”目录下的条目类型——在这里就是布局。

Eclipse以及管理系统的ADT都会引用应用中来自Java的资源,在项目中对这些资源进行添加或者编辑时,Eclipse会将对应内容写入“R.java”文件,保存在“gen”文件夹中。
千万不要直接编辑这个文件,它会在我们编辑项目资源时自动生成。系统会通过为应用中的每项资源分配唯一整数ID的形式管理这一过程。
如果Eclipse显示任何与R相关的错误信息,特别是“R无法被解析为一个变量”,则需要检查类文件的起始内容,看看其中是否存在“R”的导入语句,例如“import android.R;”。如果找到了对应内容,特别是在已经将代码复制并粘贴到文件中后,请删除这一导入语句。如果遇到其它与R相关的提示,请确保资源文件当中不存在错误。如果问题仍然存在,尝试利用“Project”, “Clean”清理项目。当一切努力皆告失败时,试着重新启动Eclipse。

框架——资源部分

layout文件夹

显然,layout用于存放各种布局。
创建项目时,Eclipse会提供一套基础布局用于主屏幕的布局方案,供我们进行个性化修改,用户在启动应用之后最先看到的就是它。
在这里插入图片描述
在上面的示例中,根元素为RelativeLayout。Android当中还提供其它几种布局类型,我们可以将一种布局嵌套到另一种当中。
在这里插入图片描述
查看编辑器右侧的Outline视图,显示的是另一套指向文件元素的界面。双击列出的项目以跳转到对应代码位置,可以展开或者折叠主元素。

切换到Graphical Layout标签,把右上角安卓图标的API调小一点,就可以直接查看自己的布局了。界面左侧的Palette区域允许我们选择UI组件并将其拖动到布局当中。
在这里插入图片描述

drawable文件夹

用于保存应用程序所使用的图片文件。这些图片文件可以是我们在Eclipse之外所准备的数字图片文件,格式包括PNG或者JPEG等。或者,大家也可以通过XML代码来描述形状、颜色以及外观,从而定义特定可绘制资源。一旦我们在drawable文件夹中创建了文件,就可以在应用布局文件或者Java代码中进行引用。

资源目录中会保留针对每一种尺寸的drawable文件夹。这些尺寸是各类运行Android系统的设备在像素密度方面的通用型分类依据。具体类别分为低、中、高、超高与超超高密度四种。如果某资源在合适的文件夹下不存在,原则是使用最接近的密度级别。

values文件夹

用于容纳应用程序中所使用的数据值。

可以包含文本字符串以及数字,包含XML文件的值文件会列出其中的一项或者多项值。应用中的其它文件,例如Java类或者布局文件,能够通过这些名称引用这些值。

应用程序中的不同值文件,允许大家针对特定屏幕尺寸及API级别对值进行修改。如果同样的值足以应对多种设备,则可以被直接保存在“Values”文件夹内。

  • demens.xml:定义尺寸资源
  • string.xml:定义字符串资源
  • styles.xml:定义样式资源
  • colors.xml:定义颜色资源
  • arrays.xml:定义数组资源
  • attrs.xml:自定义控件时用的较多,自定义控件的属性
  • theme主题文件,和styles很相似,但是会对整个应用中的Actvitiy或指定Activity起作用,一般是改变窗口外观的。可在Java代码中通过setTheme使用,或者在Androidmanifest.xml中为<application…>添加theme的属性!
    说明:你可能看到过这样的values目录:values-w820dp,values-v11等,前者w代表平板设备,820dp代表屏幕宽度;而v11这样代表在API(11),即android 3.0后才会用到的!

menu文件夹

菜单在以前有物理菜单按钮(即menu键)的手机上用的较多。

raw目录

用于存放各种原生资源(音频,视频,一些XML文件等),可以通过openRawResource(int id)来获得资源的二进制流!

animator:存放属性动画的XML文件

anim:存放补间动画的XML文件

框架——其他

Manifest文件

这个文件将应用程序的各个方面定义成统一整体。Eclipse与ADT会在创建应用的同时,在清单中创建特定元素,具体创建方式取决于在项目创建过程中的设置。
注意:每一个Activity都必须在应用程序清单当中列出。Android中的四大组件,只要定义了,无论用没用,都要在AndroidManifest.xml对这个组件进行声明
(Android 开发的四大组件分别是:活动activity——用于表现功能;服务service——后台运行服务,不提供界面呈现;广播接受者Broadcast Receive——用于接收广播;内容提供者Content Provider——支持多个应用中存储和读取数据,相当于数据库。)

APK文件

当我们在虚拟或者物理设备上编译并运行自己的Android应用时,Eclipse以及ADT会为我们的应用创建一个APK文件,同时将其安装在我们所使用的设备上。APK文件也就是用户们从Google Play商店中所下载的应用文件格式。

【未完待续】

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 新闻app是一款基于Android平台的小型项目应用程序,它主要用于展示各类新闻内容,为用户提供便捷的阅读体验。该项目的源码包含了应用程序的基本框架和功能实现,方便开发者进行二次开发和定制。 新闻app的源码主要包含以下几个方面的内容: 1. 用户界面设计:源码中包含了新闻app的界面布局和样式,开发者可以根据自己的需要进行修改和美化。用户界面通常包括新闻列表、新闻详情页、分类标签等,开发者可以自由设计并添加其他功能模块。 2. 数据获取与展示:源码中实现了与服务器进行数据交互的功能,通过网络请求获取新闻数据,并在界面上展示出来。开发者可以根据需要修改数据请求接口和解析方式,实现与自己的服务器交互。 3. 新闻分类与搜索:源码中提供了新闻分类和搜索功能的实现,用户可以根据自己的兴趣和需求选择不同的新闻分类进行浏览,也可以通过搜索关键词进行精确定位。 4. 用户交互与分享:源码中包含了用户的登录注册功能和新闻内容的分享功能,用户可以通过登录账号进行个性化设置和收藏喜欢的新闻内容,也可以将新闻分享到社交媒体上与他人交流。 总之,新闻app源码是一个基础框架开发者可以在此基础上进行二次开发和定制,根据自己的需求添加功能模块和美化界面,实现自己独特的新闻应用。 ### 回答2: Android新闻App一个基于Android平台开发的小型项目,它的主要功能是提供最新的新闻内容给用户,并且用户可以进行浏览、搜索和分享等操作。下面是这个项目的一些关键特点和所需的源码组成部分: 1. 特点: - 用户界面友好,交互性强,提供舒适的浏览体验; - 支持实时更新,提供最新的新闻内容; - 具备搜索功能,方便用户查找感兴趣的新闻; - 支持新闻分享功能,方便用户将新闻分享给朋友; - 具备图文混排的能力,可以展示新闻的文字和图片。 2. 源码组成部分: - 主界面布局代码:定义了App的整体布局结构,包括顶部导航栏、底部工具栏和新闻显示区域等。 - 数据源代码:负责获取新闻数据,可以通过API接口获取最新的新闻内容,也可以从本地数据库获取已缓存的新闻数据。 - 新闻列表适配器代码:用于将新闻数据展示在界面上,包括标题、描述和图片等。 - 新闻详情界面代码:用于显示单篇新闻的详细内容,包括标题、正文和相关图片等。 - 搜索功能代码:实现了按关键字搜索新闻的功能,可以在已有的新闻数据中进行筛选。 - 分享功能代码:集成了社交媒体的分享SDK,方便用户将新闻内容分享给朋友。 - 图片加载和缓存代码:处理了新闻中的图片加载和本地缓存,提高了图片加载速度和用户体验。 通过以上的源码组成部分,可以完成一个基本的新闻App,用户可以在界面上浏览最新的新闻内容,进行搜索和分享操作。这个小项目可以帮助开发者理解Android开发框架开发方式,提高编码能力和UI设计能力。 ### 回答3: 新闻app是基于Android平台开发一个小型应用程序,可以提供用户各种最新的新闻资讯。以下是关于这个项目的源码介绍。 该项目源码主要由Java语言编写,使用了Android Studio作为开发工具。代码结构清晰,包含了主要的几个模块。 1. 用户界面模块:这个模块负责显示新闻列表和新闻详情等信息,主要包含布局文件和相应的逻辑代码。列表界面使用RecyclerView控件展示新闻列表,详情界面使用WebView展示新闻内容。 2. 网络请求模块:这个模块负责与后台服务器进行数据交互,使用了Android的HttpURLConnection类来发送请求和接收响应。请求参数可以根据实际需要进行修改,例如可以根据新闻类别进行请求。 3. 数据解析模块:这个模块负责解析从服务器返回的JSON格式的数据,转换成Java对象供应用程序使用。可以使用Android提供的JSON解析库,如Gson。 4. 数据存储模块:这个模块负责缓存新闻数据,以提高应用程序的响应速度。可以使用SharedPreferences或SQLite数据库来存储新闻数据。同时也可以使用图片缓存库,如Glide或Picasso来缓存新闻图片。 5. 用户交互模块:这个模块负责处理用户的交互行为,例如点击新闻列表项跳转到新闻详情界面,下拉刷新获取最新数据等。可以使用Android提供的相关控件和事件监听器来实现用户交互。 除了以上几个主要的模块,还可以根据需要添加其他功能,例如搜索栏、分享按钮等。 总体来说,这个新闻app的源码提供了一个完整的开发框架,初学者可以通过阅读和理解源码来学习Android应用程序的开发流程和一些常用技术。同时,也可以根据实际需求进行二次开发,添加新的功能和改进用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值