如何提交程式到Android Market2011/04/02 13:48給你的程式簽名 概述 注意事項: 所有提交到Market的程式必須經過簽名。未經簽名的程式不能安裝。 你可以使用個人認證去簽名程式,不一定要經認證機構授權。 用Debug版本認證簽名的程式將不能發布。 在安裝程式時會檢測簽署憑證是否到期。如果程式在安裝後認證到期,程式也能正常使用。 你可以使用keytool和Jarsigner產生密鑰並簽名你的程式。 l你的程式在簽名後還需要使用zipalign去最佳化。 建議:
在做android 應用的開發的時候,橫向滾動或者要做出跑馬燈的效果很簡單,textview本身的屬性就支援,只要設定準確就會滾動,開發起來比較簡單,但是textview 不支援垂直滾動,那麼垂直滾動就需要自己來實現了,很多網友提供的垂直滾 動方案都是千篇一律,使用ScrollView來進行滾動,但是都不完美,做起來有些彆扭。有一位網友給出的歌詞的滾動思路明確,能從根本上解決問題,因此我實現的這個滾動是在這位網友的基礎上實現,封裝了一個View,view繼承自TextView。先看看實現的效果:
JSONObject, JSONArray來構建json文本 代碼 // 假設現在要建立這樣一個json文本 // { // "phone" : ["12345678", "87654321"], // 數組 // "name" : "yuanzhifei89", // 字串 // "age" : 100, // 數值 // "address" : { "country" :
android開發多半可以使用android模擬器進行運行調試,不過那個模擬器實在是太慢,啟動一次得要個三兩分鐘。一般是模擬器一直開著,只通過後退鍵把程式退出就可以進行第二次調試。但有時候需要串連到真機,不但速度快,還能發現模擬器上發現不了的問題。真機調試當然需要一個android手機或平板,還有USB線。需要在windows上安裝對應的USB驅動程式。串連成功用通過adb devices命令應該能看到你的機器:platform-tools目錄下:注意要在手機的設定裡面,開啟USB調試(必須!)
在Android開發中通過localhost或127.0.0.1訪問本機伺服器時,會報java.net.ConnectException: localhost/127.0.0.1:8083 -Connection
一、字典表,用來存放索引值對資訊package com.ljq.activity;import java.io.Serializable;@SuppressWarnings("serial")public class Dict implements Serializable {private Integer id;private String text;public Dict() { }public Dict(Integer id, String text)
px (pixels)像素 一般HVGA代表320x480像素,這個用的比較多。 dip或dp (device independent pixels)裝置獨立像素 這個和裝置硬體有關,一般為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴像素。 sp (scaled pixels — best for text size)比例像素主要處理字型的大小,可以根據系統的字型自適應。
back鍵Android的程式無需刻意的去退出,當你一按下手機的back鍵的時候,系統會預設調用程式棧中最上層Activity的Destroy()方法來銷毀當前Activity,當此Activity又被其它Activity啟動起來的時候,會重新調用OnCreate()方法進行建立,當棧中所有Activity都彈出結束後,應用也就隨之結束了.如果說程式中存在service之類的,則可以在恰當的位置監聽處理下也就可以了.
1、LinearLayout可以為其包含控制項指定填充權值layout_weight。 這樣就允許其包含的控制項可以填充螢幕上的剩餘空間。這也避免了所有控制項擠成一堆的情況,而是允許他們放大填充所有空白。剩餘的空間會按這些控制項指定的權值比例分配螢幕。 2、預設情況下,weight的值是0,表示按照控制項的實際大小顯示;如果weight設定高於零。 3、剩餘空間會按照該控制項的weight值占所有控制項weight的比例分配給該控制項。
當我們在處理下載或是其他需要長時間執行的任務時,如果直接把處理函數放Activity的OnCreate或是OnStart中,會導致執行過程中整個Activity無響應,如果時間過長,程式還會掛掉。Handler就是把這些功能放到一個單獨的線程裡執行,與Activity互不影響。
無論大型或小型應用,靈活的緩衝可以說不僅大大減輕了伺服器的壓力,而且因為更快速的使用者體驗而方便了使用者。Android的apk可以說是作為小型應用,其中99%的應用並不是需要即時更新的,而且詬病於蝸牛般的移動網速,與伺服器的資料互動是能少則少,這樣使用者體驗才更好,這也是我們有時捨棄webview而採用json傳輸資料的原因之一。 採用緩衝,可以進一步大大緩解資料互動的壓力,特此,我們簡略列舉一下緩衝管理的適用環境:1. 提供網路服務的應用2.
文章目錄 Android開發人員應該深入學習的10個開源應用項目Android開發人員應該深入學習的10個開源應用項目 Android開發人員應該深入學習的10個開源應用項目 Android開發人員應該深入學習的10個開源應用項目 Android開發帶來新一輪熱潮讓很多移動開發人員都投入到這個浪潮中去了,創造了許許多多相當優秀的應用。其中也有許許多多的開發人員提供了應用開 源項
文章目錄 Horde3D OGRE3D Irrlicht jmonkey Catcake jPCT-AE min3d gamine Alien3D
例如,螢幕的上方或下方。要實現這種效果。就需要獲得對話方塊的Window對象,獲得這個Window對象有多種方法。最容易的就是直接通過AlertDialog類的getWindow方法來獲得Window對象。複製代碼 代碼如下:AlertDialog dialog = new AlertDialog.Builder(this).setTitle("title") .setMessage("message").create(); Window
view_show.xml複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"
我們知道Android手機作業系統採用的是Linux核心,Linux中最高的系統許可權就是Root,這就類似與Windows中的Administrator系統管理員許可權,也就是作業系統的最高許可權。由於Root的許可權過高,因此手機產商一般都不允許使用者直接擁用Root許可權,以防止使用者修改系統內建的業務跟程式。但是對於使用者來說,當然希望能擁有Root許可權以將手機修改成自己的一種特色,因為有Root許可權則可以任意修改手機的所有檔案跟程式,讓手機更加個人化。複製代碼
複製代碼 代碼如下:/** * * @author chrp * *顯示當前電池電量 */ public class MainActivity extends Activity { private TextView tv; /** * 廣播接受者 */ class BatteryReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO
Android提供三種字型:“Sans”,“serif”和“monospace”。1、在Android XML檔案中設定字型可以採用android:typeface,例如android:typeface=”monospace”。在這裡例子中我們在Activity中對android:text=”Hello, World!
首先是stackFromBottom屬性,這隻該屬性之後你做好的列表就會顯示你列表的最下面,值為true和falseandroid:stackFromBottom="true"第二是transciptMode屬性,需要用ListView或者其它顯示大量Items的控制項即時跟蹤或者查看資訊,並且希望最新的條目可以自動滾動到可視範圍內。通過設定的控制項transcriptMode屬性可以將Android平台的控制項(支援ScrollBar)自動滑動到最底部。android:transcriptMo
先看:首先,你得寫一個類我們命名為CornerListView[java]複製代碼 代碼如下:/** * 圓角ListView樣本 * @Description: 圓角ListView樣本 * @FileName: CornerListView.java */ public class CornerListView extends ListView { public CornerListView(Context context) { super(context);