当前位置:首页 » 安卓系统 » 简单android项目

简单android项目

发布时间: 2025-02-20 17:30:01

‘壹’ android项目怎么注册activity

1、打开AndroidManifest.xml文件
2、在application节点间插入
<activity android:name="com.example.testand.MainActivity"/>
com.example.testand.MainActivity是activity在工程中的路径。这是最简单的一个注册

其他activity中可选用属性有:
<activity android:allowTaskReparenting=["true" | "false"]
android:alwaysRetainTaskState=["true" | "false"]
android:clearTaskOnLaunch=["true" | "false"]
android:configChanges=["mcc", "mnc", "locale",
"touchscreen", "keyboard", "keyboardHidden",
"navigation", "orientation", "screenLayout",
"fontScale", "uiMode"]
android:enabled=["true" | "false"]
android:excludeFromRecents=["true" | "false"]
android:exported=["true" | "false"]
android:finishOnTaskLaunch=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:launchMode=["multiple" | "singleTop" |
"singleTask" | "singleInstance"]
android:multiprocess=["true" | "false"]
android:name="string"
android:noHistory=["true" | "false"]
android:permission="string"
android:process="string"
android:screenOrientation=["unspecified" | "user" | "behind" |
"landscape" | "portrait" |
"sensor" | "nosensor"]
android:stateNotNeeded=["true" | "false"]
android:taskAffinity="string"
android:theme="resource or theme"
android:windowSoftInputMode=["stateUnspecified",
"stateUnchanged", "stateHidden",
"stateAlwaysHidden", "stateVisible",
"stateAlwaysVisible", "adjustUnspecified",
"adjustResize", "adjustPan"] >
</activity>
(注:有些在application中重复的就不多阐述了)
1、android:alwaysRetainTaskState
是否保留状态不变, 比如切换回home, 再从新打开,activity处于最后的状态。比如一个浏览器拥有很多状态(当打开了多个TAB的时候),用户并不希望丢失这些状态时,此时可将此属性设置为true
2、android:clearTaskOnLaunch
比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 重新启动 P,是否显示 Q
3、android:configChanges
当配置list发生修改时, 是否调用 onConfigurationChanged() 方法 比如 "locale|navigation|orientation".
这个我用过,主要用来看手机方向改变的. android手机在旋转后,layout会重新布局, 如何做到呢?
正常情况下. 如果手机旋转了.当前Activity后杀掉,然后根据方向重新加载这个Activity. 就会从onCreate开始重新加载.
如果你设置了 这个选项, 当手机旋转后,当前Activity之后调用onConfigurationChanged() 方法. 而不跑onCreate方法等.
4、android:excludeFromRecents
是否可被显示在最近打开的activity列表里,默认是false
5、android:finishOnTaskLaunch
当用户重新启动这个任务的时候,是否关闭已打开的activity,默认是false
如果这个属性和allowTaskReparenting都是true,这个属性就是王牌。Activity的亲和力将被忽略。该Activity已经被摧毁并非re-parented

6、android:launchMode(Activity加载模式)
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式
Activity有四种加载模式:
standard、singleTop、singleTask、singleInstance(其中前两个是一组、后两个是一组),默认为standard

standard:就是intent将发送给新的实例,所以每次跳转都会生成新的activity。
singleTop:也是发送新的实例,但不同standard的一点是,在请求的Activity正好位于栈顶时(配置成singleTop的Activity),不会构造新的实例
singleTask:和后面的singleInstance都只创建一个实例,当intent到来,需要创建设置为singleTask的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它。
singleInstance:
首先说明一下task这个概念,Task可以认为是一个栈,可放入多个Activity。比如启动一个应用,那么Android就创建了一个Task,然后启动这个应用的入口Activity,那在它的界面上调用其他的Activity也只是在这个task里面。那如果在多个task中共享一个Activity的话怎么办呢。举个例来说,如果开启一个导游服务类的应用程序,里面有个Activity是开启GOOGLE地图的,当按下home键退回到主菜单又启动GOOGLE地图的应用时,显示的就是刚才的地图,实际上是同一个Activity,实际上这就引入了singleInstance。singleInstance模式就是将该Activity单独放入一个栈中,这样这个栈中只有这一个Activity,不同应用的intent都由这个Activity接收和展示,这样就做到了共享。当然前提是这些应用都没有被销毁,所以刚才是按下的HOME键,如果按下了返回键,则无效
7、android:multiprocess
是否允许多进程,默认是false
具体可看该篇文章:http://www.bangchui.org/simple/?t3181.html
8、android:noHistory
当用户从Activity上离开并且它在屏幕上不再可见时,Activity是否从Activity stack中清除并结束。默认是false。Activity不会留下历史痕迹
9、android:screenOrientation
activity显示的模式
默认为unspecified:由系统自动判断显示方向
landscape横屏模式,宽度比高度大
portrait竖屏模式, 高度比宽度大
user模式,用户当前首选的方向
behind模式:和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
sensor模式:有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换
nosensor模式:忽略物理感应器,这样就不会随着用户旋转设备而更改了
10、android:stateNotNeeded
activity被销毁或者成功重启时是否保存状态
11、android:windowSoftInputMode
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。
这个属性能影响两件事情:
【A】当有焦点产生时,软键盘是隐藏还是显示
【B】是否减少活动主窗口大小以便腾出空间放软键盘
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

‘贰’ 用Android studio做一个可以运行的小程序,闹钟也行,然后可以连到手机,感谢大神。

环境搭建就不讲了,直接说开发。

小闹钟程序开发中的要点就是:

1、时间选择对话框(TimePicker)

2、获取闹钟管理器并对其进行设置

3、注册广播接收器

掌握了这两点,写程序就很简单了。

1、新建android项目:Alarm,sdk版本选择2.2,Package name:com.lql.activity,Main Activity:Alarm

2、编写界面:直接修改layout中的main.xml文件,代码如下:

Xml代码

  • <?xmlversion="1.0"encoding="utf-8"?>

  • <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

  • android:orientation="vertical"

  • android:layout_width="fill_parent"

  • android:layout_height="fill_parent"

  • android:gravity="center_vertical"

  • >

  • <Button

  • android:id="@+id/timeBtn"

  • android:layout_width="fill_parent"

  • android:layout_height="wrap_content"

  • android:text="@string/time"

  • android:textSize="20sp"

  • />

  • <Button

  • android:id="@+id/cancelAlarmBtn"

  • android:layout_width="fill_parent"

  • android:layout_height="wrap_content"

  • android:text="@string/cancelAlarm"

  • />

  • </LinearLayout>

  • 界面的效果如下:


  • {

  • /*(non-javadoc)

  • *@seeandroid.content.BroadcastReceiver#onReceive(android.content.Context,android.content.Intent)

  • */

  • @Override

  • publicvoidonReceive(Contextarg0,Intentdata){

  • Log.d(Alarm.TAG,"thetimeisup,startthealarm...");

  • Toast.makeText(arg0,"闹钟时间到了!",Toast.LENGTH_SHORT).show();

  • }

  • }

  • 这个代码就很简单了,主要是要继 承BroadcastReceiver 这个类,然后重写onRecive方法。onRecive方法在闹钟的时间达到之后会执行,在这里我们可以做自己的事情,比如启动某个程序,或者播放铃声,我这里就是简单的提示一下,使用的是Toast。

    5、在android的AndroidManifest.xml文件中注册广播接收器:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

    Xml代码

  • package="com.ql.activity"

  • android:versionCode="1"

  • android:versionName="1.0">

  • <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">

  • <receiverandroid:name=".AlarmReceiver"android:process=":remote"/>

  • <activityandroid:name=".Alarm"

  • android:label="@string/app_name">

  • <intent-filter>

  • <actionandroid:name="android.intent.action.MAIN"/>

  • <categoryandroid:name="android.intent.category.LAUNCHER"/>

  • </intent-filter>

  • </activity>

  • </application>

  • <uses-sdkandroid:minSdkVersion="8"/>

  • </manifest>

  • 核心的配置为<receiver android:name=".AlarmReceiver" android:process=":remote" />,这也是闹钟程序的关键,如果不做这个配置,那么时间到了之后,闹钟将不会提示。

    接下来就是到模拟器上测试,运行截图如上图。程序源代码见附件。

‘叁’ 如何创建第一个android程序

一、 开发环境安装:

1. 下载 Android SDK.

2. 如果使用Eclipse,请安装 ADT 插件。

3. 下载最新的SDK工具和平台。

二、创建Android项目
一个android项目包含了程序中用到的所有源代码文件.使用Android SDK工具可以轻松的创建一个包含默认目录和文件的项目。

本节介绍如何使用eclipse或从命令行创建一个项目。
Create a Project with Eclipse

点击工具中的 New .
在弹出的窗口中,打开Android目录,选择【Android Application Project】,点击【next】.

Figure 1. The New Android App Project wizard in Eclipse.

3. 在弹出的窗口,如图【Figure1】中,填入下列信息:

Application Name :应用程序名.填入"My First App."
Project Name:项目目录名和显示在Eclipse中的项目文件名 。
Package Name :程序包的命名空间,与java或c#类似。你的包名应该定义一个唯一的名字,保证与在androi系统中安装的所有其他包名称不一样。因此,强烈建议以组织或公司的域名或发布者名字开头。在这个项目中,我们使用"com.example.myfirstapp." ,但是,你不能发布以"com.example”为命名空间的应用到Google Play上。
Minimum Required SDK :程序支持的android系统的最小版本,如果你想要支持更多的android设备,需要将这个版本号设置得相对低一点。有过有些功能在低版本上不支持,你可以只在高版本上启动该功能。在此我们使用默认设置。
Target SDK:当前版本,也是最高版本,当有更高的版本出来时,你应该重新在新的版本上测试你的程序,并修改此参数。
Compile With: 你编译程序时使用的版本。建议使用最新的版本,可通过SDK MANAGER下载。新版本中有新的一些特性,并会根据用户的使用体验做一些改进。
Theme :Android UI样式。可以按默认设置。

点击 Next.

在下一个屏幕上使用默认设置,继续点击next.
下一个屏幕可以设置程序图标.

你可以通过多种方式自定义图标,系统会自动为你生成各种屏幕尺寸下的图标。在你发布程序前,请确保你的图标满足Iconography 设计指南中的说明定义。

继续点击 Next.
现在可以选择一个activity模版.

当前项目,我们选择BlankActivity,然后点击Next.

4.剩下的都按默认设置,点击 Finish.

这样,这个项目就创建完毕了
从命令行工具创建项目

如果你没有使用Eclipse,你可以从命令行通过SDK工具创建项目。

切换到Android SDK目录, tools/ path.
执行:

android list targets

该命令显示可用的android平台。

如果没有显示任何列表,请先通过Android SDK Manager 工具进行安装. 参见 Adding Platforms and Packages.
执行:

android create project --target --name MyFirstApp \
--path /MyFirstApp --activity MainActivity \
--package com.example.myfirstapp

将修改为上一步骤中显示的id;将 修改为你要保存项目的文件夹

Your Android project is now set up with several default configurations and you’re ready to begin building the app. Continue to the next lesson.

小贴士: 将 platform-tools/ 同tools/ 目录一样加到你的环境变量。

这样,这个项目就创建完毕了.

三、运行你的程序
你要如何运行你的程序取决于两件事:是否有真实的android设备;是否使用eclipse.

在运行你的程序之前,你需要注意项目中的一些文件夹和文件:

AndroidManifest.xml
manifest文件描述应用程序的一些基础特性并定义每一个组件。

你可以查看项目中的manifest文件,与之前谈到的manifest文件的说明对比,即可知道对应的一些元素的设置:

http://schemas.android.com/apk/res/android" ... >

...

src/
存放源代码的目录.默认情况下,包含一个启动时用到的 Activity 类。
res/
含有多个子文件,用于程序资源的存放。示例目录如下:

drawable-hdpi/
包含一些可用于高分辨率屏幕的绘图实体,如图片。其他类似的目录包含对应的分辨率屏幕下的图片。
layout/
程序UI文件。
values/
包含用于定义诸如字符串、颜色等的xml文件。

在真实设备上运行
如果你有android系统设备,可以直接在上面安装你的程序并运行:

首先你的设备需要安装usb驱动。如果你是在window上开发,你可以安装合适的usb驱动。具体驱动安装信息可以参考 OEM USB Drivers
在设备上启用USB调试
大部分 Android 3.2或更早的机器,在 【设置】-【应用程序】-【开发】中设置。
Android 4.0和之后的系统,应该是在【设置】-【开发选项】中。

Note: On Android 4.2 and newer, Developer options is hidden by default. To make it available, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options.

运行步骤:

打开项目文件,点击【run】。
在弹出的窗口中选择【Android Application】,然后点击【OK】

Eclipse会自动将程序安装到你的设备上并运行他。

在模拟器上运行
在 【run】-【run configuration】中的【Target】页面添加和设置模拟器,然后即可运行

‘肆’ github 上的Android 项目怎么使用啊

下载zip,解压到桌面
打开eclipse,File-Import-Existing Android Code Into Workspace
选中library文件,导入到eclipse中
打开此library,右键library,properties-Android-Library-勾选Is Library

打开你的程序后,右键你的主程序,properties-Android-Library-Add,选择library文件

导入的基本步骤就这样,接下来是如何使用

找到你的程序-layout-xml添加一个
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/pull_to_refresh_listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
回到MainActivity中,头文件中添加一段代码
import com.handmark.pulltorefresh.library.PullToRefreshListView;

之后把你需要用到的listview全部改为PullToRefreshListView,例如
private PullToRefreshListView mPullRefreshListView;
接着就像listview一样使用吧

热点内容
mariadbforlinux 发布:2025-02-21 23:30:48 浏览:392
安卓删照片怎么恢复 发布:2025-02-21 23:28:24 浏览:795
php中文字符长度 发布:2025-02-21 23:20:31 浏览:891
水浒传中央编译出版社mobi 发布:2025-02-21 23:19:51 浏览:151
python怎么自学 发布:2025-02-21 23:19:49 浏览:916
php替换html标签 发布:2025-02-21 23:15:33 浏览:255
电脑配置哪个好排行 发布:2025-02-21 23:10:30 浏览:626
怎么看新车是哪个配置的 发布:2025-02-21 22:52:15 浏览:311
安卓最高处理器是什么2021 发布:2025-02-21 22:47:08 浏览:695
远秋住培管理系统服务器地址 发布:2025-02-21 22:44:32 浏览:766