导航:首页 > 编程语言 > android代码实例

android代码实例

发布时间:2021-10-25 06:40:46

㈠ 如何在Android上编写高效的java代码

1、避免建立对象
世界上没有免费的对象。虽然GC为每个线程都建立了临时对象池,可以使创建对象的代价变得小一些,但是分配内存永远都比不分配内存的代价大。如果在用户界面循环中分配对象内存,就会引发周期性的垃圾回收, 除非必要,应尽量避免尽力对象的实例。
2、使用本地方法
在处理字串的时候,不要吝惜使用String.indexOf(), String.lastIndexOf()等特殊实现的方法。这些方法都是使用C/C++实现的,比起Java循环快10到100倍。
但也并非要完全使用本地方法,调用本地方法的代价要高于调用解释方法。所以如果可以避免,就不应使用本地方法去做一些并不复杂的运算。
3、选择虚类而不是接口

4、用静态方法比虚方法好
如果不需要访问一个对象的成员变量,那么请把方法声明成static。虚方法执行的更快,因为它可以被直接调用而不需要一个虚函数表。另外你也可以通过声明体现出这个函数的调用不会改变对象的状态。
5、不用getter和setter
在很多本地语言如C++中,都会使用getter(比如:i = getCount())来避免直接访问成员变量(i = mCount)。在C++中这是一个非常好的习惯,因为编译器能够内联访问,如果你需要约束或调试变量,你可以在任何时候添加代码。在Android上,这就不是个好主意了。虚方法的开销比直接访问成员变量大得多。在通用的接口定义中,可以依照OO的方式定义getters和setters,但是在一般的类中,你应该直接访问变量。
6、将成员变量缓存到本地
访问成员变量比访问本地变量慢得多,下面一段代码:
for (int i = 0; i < this.mCount; i++)mpItem(this.mItems[i]);你应该写成:int count = this.mCount;Item[] items = this.mItems;for (int i = 0; i < count; i++)mpItems(items[i]);(显示的使用”this”是为了表明这些是成员变量)
另一个相似的原则是:永远不要在for的第二个条件中调用任何方法。如下面方法所示,在每次循环的时候都会调用getCount()方法,这样做比你在一个int先把结果保存起来开销大很多。
for (int i = 0; i < this.getCount();i++)
mpItems(this.getItem(i));同样如果你要多次访问一个变量,也最好先为它建立一个本地变量
7、使用常量

将一个方法或类声明为”final”不会带来性能的提升,但是会帮助编译器优化代码。举例说,如果编译器知道一个”getter”方法不会被重载,那么编译器会对其采用内联调用。
也可以将本地变量声明为”final”,同样,这也不会带来性能的提升。使用”final”只能使本地变量看起来更清晰些

㈡ 求基于Android校园开发的实例,详细代码及过程,谢谢了!!!

把你问的具体一点,你是想要做安卓开发吗? 开发什么软件?什么是校园开发的实例

㈢ android静态方法和实例方法的区别

静态方法的调用,是类名后直接加静态方法即可。实例方法必须将类实例化后,用实例调用该实例方法。
静态方法,只能调用类中的其他静态属性和静态方法,不能调用类中的非静态属性和非静态方法。
实例方法,可以调用静态属性和静态方法,也可以调用实例属性和实例方法。
静态方法是属于类的必须由类来调用,实例方法是属于实例的必须实例化类后,用类的实例调用。

㈣ 有没有什么好的android 实例开发的源代码网站

github.com上有很多,想找那种类型的去这个网站上搜索就行,github主要是代码托管,好多公开的项目,都可以在上面找到源码

㈤ 安卓开发 有个例子不是很明白

这是安卓给控件绑定事件的基本写法,也是最简单的方法,如果你控件的事件比较少,可以直接这么写,但是如果有很多个按钮,你全写一遍new OnclickListener(){xxxxx};这样很容易出现代码冗余,就可以让activity实现OnclickListener接口,重新Onclick事件,在里面做switch判断,button1.setOnclickListener(this);就可以这样写了。

㈥ android 代码布局简单的例子

android LinearLayout 布局实例代码,参考如下:
<?xml version="1.0" encoding="utf-8"?>
<!--
<LinearLayout>
线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- android:orientation="vertical" 表示竖直方式对齐
android:orientation="horizontal"表示水平方式对齐
android:layout_width="fill_parent"定义当前视图在屏幕
可以消费的宽度,fill_parent即填充整个屏幕。
android:layout_height="wrap_content":随着文字栏位的不同
而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思 。

-->
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<TextView
android:text="red"
android:gravity="center_horizontal"
android:background="#aa0000"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>

<TextView
android:text="green"
android:gravity="center_horizontal"
android:background="#00aa00"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>

<TextView
android:text="blue"
android:gravity="center_horizontal"
android:background="#0000aa"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>

<TextView
android:text="yellow"
android:gravity="center_horizontal"
android:background="#aaaa00"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2">

<TextView
android:text="row one"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<TextView
android:text="row two"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<TextView
android:text="row three"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<TextView
android:text="row four"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>

</LinearLayout>

</LinearLayout>

Java代码 Views.java
package com.cn.view;

import android.app.Activity;
import android.os.Bundle;

public class Views extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

㈦ 如何在编写android中的控件 一个窗口 四个基本按钮的 求代码示例

在Activity中重写下onCreateOptionsMenu方法就OK了
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuItem item1=menu.add(1, 1, 1, "新建");
MenuItem item2=menu.add(1, 2, 2, "打开");
MenuItem item3=menu.add(2, 3, 3, "删除");
MenuItem item4=menu.add(2, 4, 4, "退出");
item1.setIcon(R.drawable.btn_check_off_disable_focused);
item2.setIcon(R.drawable.btn_check_off_pressed);
item3.setIcon(R.drawable.btn_check_off_selected);
item4.setIcon(R.drawable.btn_check_on_disable_focused);
return true;
}

㈧ Android实例问题 请看 实例化了DButilImpl实现类 调用了实现类里面的插入信息的方法

你应该给你的BtnAdd.setOnClickListener(listener);
这个写在你的findView的下面,别写事件里面

然后在你的listener里面写

switch (v.getId()) {
case R.id.BtnAdd:
bit.insert(user);

break;

㈨ 急求android中SQLite样例代码

嘛~大致就是 SQLiteDatabase Mysqlite = this.openOrCreateDatabase("数据库名.db",MODE_PRIVATE,null) 这就创建了数据库对象
插入是 Mysqlite.execSql("insert into ....") 或者
ContentValues cv = new ContentValues();
cv.put(字段名,字段值);
然后 Mysqlite.insert(表名,null,cv);
delete是一样的
查询复杂一点,必须用游标实现 我具体给你一个我自己写的一个封装好的数据库类吧,这个里面用到了SQLiteOpenHelper这个类,你查阅下相关资料
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class SQLiteManager {
Context mContext;
DataHelper helper;
SQLiteDatabase Mysqlite;
public static String DataName = "MyData.db";
public static String t_Name = "table3";
public static String Id = "_id";
public static String v_Name = "Name";
public static int DataVersion = 1;
public static final String Table_CREATETABLE = "CREATE TABLE table3(_id INTEGER PRIMARY KEY autoincrement,Name TEXT)";

private class DataHelper extends SQLiteOpenHelper{

public DataHelper(Context context) {
super(context, DataName, null,DataVersion);
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(Table_CREATETABLE);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);

}

}
public SQLiteManager(Context context){
mContext = context;
}
public void open(){
helper = new DataHelper(mContext);
Mysqlite = helper.getWritableDatabase();

}
public void close(){
helper.close();
}
public void Insert(String values){
ContentValues cv = new ContentValues();
cv.put(v_Name,values);
Mysqlite.insert(t_Name, Id,cv);
}
/* 通过Cursor查询所有数据 */
public Cursor fetchAllData()
{
return Mysqlite.query(t_Name, new String[] { Id, v_Name}, null, null, null, null, null);

}
public Cursor fetchData(int RowId){
return Mysqlite.query(true,t_Name, new String[] { Id, v_Name}, "_id="+RowId, null, null, null,null,null);
}

㈩ 谁有android应用程序开发实例代码或者在哪儿可以下载到完整的代码

你要开发Android程序,必需下载SDK,而SDK里面就自带了大量的DEMO,你建工程的时候就可以看到,或者到SDK目录下的samples文件里面找,都按平台版本分好类了的,这都是官方的DEMO代码。

阅读全文

与android代码实例相关的资料

热点内容
学而思编程哪个版本好 浏览:208
免费观影网站 知乎 浏览:813
美人电影韩国结局 浏览:459
kindle下载pdf文件 浏览:213
妻子交换txt 浏览:638
电脑找不到网络怎么办 浏览:136
欧美电影有中英文字幕 浏览:760
宅男在线影院 浏览:847
怎么看日本上映电影 浏览:190
朋友分享的app有哪些 浏览:770
贪婪的朋友女友演员 浏览:420
男主角与国外母亲 浏览:502
葵花宝典台湾 浏览:602
法国啄木鸟官网app 浏览:7
linux文件解锁 浏览:316
linux启动其他文件夹程序 浏览:651
去哪能查到影院放啥电影 浏览:509
棒棒冰电影全部演员表 浏览:715
最新中文大片免费在线 浏览:508
我下电影app 浏览:462

友情链接