android 开发: 生成签名文件 and 对app签名

时间:2023-09-16 08:00:15 其他范文 收藏本文 下载本文

android 开发: 生成签名文件 and 对app签名(精选4篇)由网友“开心的火苗”投稿提供,以下是小编帮大家整理后的android 开发: 生成签名文件 and 对app签名,欢迎大家分享。

android 开发: 生成签名文件 and 对app签名

篇1:android 开发: 生成签名文件 and 对app签名

使用Eclipse导出带签名的apk

Eclipse直接能导出带签名的最终apk,非常方便,推荐使用,步骤如下:

第一步:导出,

第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystZ“www.2cto.com/kf/ware/vc/” target=“_blank” class=“keylink”>vcmW74dPDtb2hozxicj4KIDxpbWcgc3JjPQ==“www.2cto.com/uploadfile/Collfiles/1203/0412135748196.png” alt=“\”>

第三步:填写密钥库信息,填写一些apk文件的密码,使用期限和组织单位的信息,

第四步:生成带签名的apk文件,到此就结束了。

第五步:如果下次发布版本的时候,使用前面生成的keystore再签名。

第六步:下一步,下一步

篇2:[Android] Android开发优化之――对界面UI的优化(2)

在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件,

[Android] Android开发优化之――对界面UI的优化(2)

。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过标签来重用layout的代码。

常见的,有的应用在最上方会有一个标题栏。类似下图所示。

图 标题栏的示例

如果项目中大部分Activity的布局都包含这样的标题栏,就可以把标题栏的布局单独写成一个xml文件。

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:gravity=“center”

android:background=“@drawable/navigator_bar_bg”

xmlns:android=“schemas.android.com/apk/res/android”>

android:id=“@android:id/title”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:layout_centerVertical=“true”

android:gravity=“center”

android:hint=“title”

android:textAppearance=“?android:attr/textAppearanceMedium” />

android:id=“@android:id/closeButton”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_alignParentRight=“true”

android:src=“@drawable/close” />

我们将上面的xml文件命名为“navigator_bar.xml”,其它需要标题栏的Activity的xml布局文件就可以直接引用此文件了,

经验分享:

一般情况下,在项目的初期就能够大致确定整体UI的风格。所以早期的时候就可以做一些规划,将通用的模块先写出来。

下面是可能可以抽出的共用的布局:

1)背景。有的应用在不同的界面里会用到统一的背景。后期可能会经常修改默认背景,所以可以将背景做成一个通用模块。

2)头部的标题栏。如果应用有统一的头部标题栏,就可以抽取出来。

3)底部的导航栏。如果应用有导航栏,而且大部分的Activity的底部导航栏是相同的,就可以将导航栏写成一个通用模块。

4)ListView。大部分应用都会用到ListView展示多条数据。项目后期可能会经常调整ListView的风格,所以将ListView作为一个通用的模块比较好。

篇3:[Android] Android开发优化之――对界面UI的优化(3)

有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来,

[Android] Android开发优化之――对界面UI的优化(3)

。比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后,在当前的Activity中才会显示出一个导入好友的布局界面。从需求的角度来说,这个导入功能,一般情况下用户是不使用的。即大部分时候,导入好友的布局都不会显示出来。这个时候,就可以使用延迟加载的功能。

ViewStub是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当ViewStub被设置为可见,或者调用inflate函数时,才会真的去加载这个布局资源文件。该ViewStub在加载视图时会在父容器中替换它本身。因此,ViewStub会一直存在于视图中,直到调用setVisibility(int)或者inflate()为止。ViewStub的布局参数会随着加载的视图数一同被添加到ViewStub父容器。同样,也可以通过使用inflated Id属性来定义或重命名要加载的视图对象的Id值。

请参考下面的代码片段。

android:id=“@+id/stub_import”

android:inflatedId=“@+id/panel_import”

android:layout=“@layout/progress_overlay”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:layout_gravity=“bottom” />

通过“stub_import”这个id可以找到被定义的ViewStub对象,

加载布局资源文件“progress_overlay”后,ViewStub对象从其父容器中移除。可以通过“panel_import”这个id找到由布局资源“progress_overlay”创建的View。www.2cto.com

执行加载布局资源文件的推荐方式如下:

((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);

// 或者

View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();

当inflate()被调用, 这个ViewStub被加载的视图所替代,并且返回这个视图对象。这使得应用程序不需要额外执行findViewById()来获取加载视图的引用。

经验分享:

利用ViewStub可以与xml文件里面指定的布局资源文件关联起来,让布局资源文件在需要使用的时候再加载上去。什么时候用什么时候才加载,不用在开始启动的时候一次加载。这样做既可以加快应用的启动速度,又可以节省内存资源。

篇4:[Android] Android开发优化之――对界面UI的优化(1)

在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的,

[Android] Android开发优化之――对界面UI的优化(1)

。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分工作量,也可以缩减程序安装包的大小。

下面从几个方面来介绍如何利用系统资源。

1)利用系统定义的id

比如我们有一个定义ListView的xml文件,一般的,我们会写类似下面的代码片段。

android:id=“@+id/mylist”

android:layout_width=“fill_parent”

android:layout_height=“fill_parent”/>

这里我们定义了一个ListView,定义它的id是“@+id/mylist”。实际上,如果没有特别的需求,就可以利用系统定义的id,类似下面的样子。

android:id=“@android:id/list”

android:layout_width=“fill_parent”

android:layout_height=“fill_parent”/>

在xml文件中引用系统的id,只需要加上“@android:”前缀即可。如果是在Java代码中使用系统资源,和使用自己的资源基本上是一样的。不同的是,需要使用android.R类来使用系统的资源,而不是使用应用程序指定的R类。这里如果要获取ListView可以使用android.R.id.list来获取。

2)利用系统的图片资源

假设我们在应用程序中定义了一个menu,xml文件如下。

   

android:id=“@+id/menu_attachment”

android:title=“附件”

android:icon=“@android:drawable/ic_menu_attachment” />

其中代码片段android:icon=“@android:drawable/ic_menu_attachment”本来是想引用系统中已有的Menu里的“附件”的图标。但是在Build工程以后,发现出现了错误。提示信息如下:

error: Error: Resource is not public. (at 'icon' with value '@android:drawable/ic_menu_attachment').

从错误的提示信息大概可以看出,由于该资源没有被公开,所以无法在我们的应用中直接引用,

既然这样的话,我们就可以在Android SDK中找到相应的图片资源,直接拷贝到我们的工程目录中,然后使用类似android:icon=“@drawable/ic_menu_attachment”的代码片段进行引用。

这样做的好处,一个是美工不需要重复的做一份已有的图片了,可以节约不少工时;另一个是能保证我们的应用程序的风格与系统一致。

经验分享:

Android中没有公开的资源,在xml中直接引用会报错。除了去找到对应资源并拷贝到我们自己的应用目录下使用以外,我们还可以将引用“@android”改成“@*android”解决。比如上面引用的附件图标,可以修改成下面的代码。

android:icon=“@*android:drawable/ic_menu_attachment”

修改后,再次Build工程,就不会报错了。

3)利用系统的字符串资源

假设我们要实现一个Dialog,Dialog上面有“确定”和“取消”按钮。就可以使用下面的代码直接使用Android系统自带的字符串。

android:orientation=“horizontal”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”>

android:id=“@+id/yes”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:layout_weight=“1.0”

android:text=“@android:string/yes”/>

android:id=“@+id/no”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:layout_weight=“1.0”

android:text=“@android:string/no”/>

如果使用系统的字符串,默认就已经支持多语言环境了。如上述代码,直接使用了@android:string/yes和@android:string/no,在简体中文环境下会显示“确定”和“取消”,在英文环境下会显示“OK”和“Cancel”。

android java调用js方法怎么使用

百度面试Android面试题

安卓实习心得感悟

安卓论文开题报告

安卓开发心得实例

免费合同管理软件

合同管理软件

Android 最火的快速开发框架AndroidAnnotations使用

神奇的二维码作文

Android字典造词功能

android 开发: 生成签名文件 and 对app签名
《android 开发: 生成签名文件 and 对app签名.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【android 开发: 生成签名文件 and 对app签名(精选4篇)】相关文章:

C.net web开发面试题2024-01-18

双向承诺书2022-05-07

APP开发合同2022-11-28

安卓论文总结报告2022-04-30

HTML前端开发面试题及前端知识2023-03-28

java前端开发面试题2023-10-12

计算机专业毕业论文开题报告2023-11-10

关于使用手机的初中英语作文2023-06-29

安全文明出行心得感悟2022-05-04

电气工程师面试题2022-05-08