Time of Update: 2018-12-05
原文地址:http://www.2cto.com/kf/201108/100990.html 由於接觸android開發的時間並不久,對於android系統、機制的理解也是一知半解。所以在開發中陸陸續續遇到很多莫名其妙的問題,其中最讓人頭疼的就是application crash。application的crash可能由於很多的原因所引起的,有可能是因為資料的問題,或者是非同步AsyncTask的運用不合理,等等等等,都可能造成application
Time of Update: 2018-12-05
1.monkey runner出了一個錄製的工作,這個錄製工具是在android源碼裡提取出來的,它的環境是python 2.要求把monkey_recorder.py檔案放入adnroid
Time of Update: 2018-12-05
一般情況下我們使用startService(Intent service)來啟動一個服務,但這種情況下無法得到Service對象的引用,通過bindService方法啟動服務則可以實現此功能。下面給一個小例子示範一下:1.調用者package com.zhf.local;import android.app.Activity;import android.content.ComponentName;import android.content.Context;import
Time of Update: 2018-12-05
一、關於修改1、先說一個比較簡單的修改動作,在原生機中有menu菜單,通過MENU可以進行擴音器,靜音,掛斷等功能,但是menu本身有個特性就是點擊螢幕後菜單就會消失,公司給的需求是使MENU能夠一直顯示在螢幕上,之前試了好大功夫想把點擊螢幕菜單消失這個功能給屏蔽掉,可惜試了半天也沒弄出來,我也不清楚是否是在底層就給設定好了的,後來網上說自己重寫個VIEW來“冒充”成MENU,想了想不失為一個好方法。phone源碼中,涉及到MENU的JAVA檔案有:InCallMenuView(繼承ViewGr
Time of Update: 2018-12-05
二維碼條碼掃描,參考技術網址: 1.Apache License 2.0 開源的 ZXing項目的簡化版 http://xinlanzero.iteye.com/blog/1114826 (作者的項目中的缺少core.jar,需自己下載) 2.另外一篇關於Apache License 2.0 開源的 ZXing項目,該作者已經編譯了core.jar可供下載 http://www.cnblogs.com/tankaixiong/archive/2010/10/31/1865
Time of Update: 2018-12-05
SparseArray是android裡為<Interger,Object>這樣的Hashmap而專門寫的class,目的是提高效率,其核心是折半尋找函數(binarySearch),今天在看這個class的實現時發現一個很好的設計: public void remove(int key) { delete(key); }remove和delete都實現了,功能當然是一樣的.起折半尋找演算法也寫的非常棒: private static int
Time of Update: 2018-12-05
基於 Android NDK 的學習之旅-----Android.mk 介紹一個Android.mk file用來向編譯系統描述你的原始碼。具體來說:該檔案是GNU Makefile的一小部分,會被編譯系統解析一次或多次。你可以在每一個Android.mk
Time of Update: 2018-12-05
在學習Android、JUnit的過程中,隨著學習的深入,發現相關的內容越來越多,將這些類按照繼承關係整理如下:Test—TestCase—AndroidTestCase Test—TestCase—InstrumentationTestCase Test—TestSuite—InstrumentationTestSuite TestListener—–BaseTestRunner—AndroidTestRunner
Time of Update: 2018-12-05
android 在ScrollView中嵌入GridView做android程式開發的都知道,不能在一個擁有Scrollbar的組件中嵌入另一個擁有Scrollbar的組件,因為這不科學,會混淆滑動事件,導致只顯示一到兩行資料。那麼就換一種思路,首先讓子控制項的內容全部顯示出來,禁用了它的滾動。如果超過了父控制項的範圍則顯示父控制項的scrollbar滾動顯示內容,思路是這樣,一下是代碼。具體的方法是自訂GridView組件,繼承自GridView。重載onMeasure方法: public
Time of Update: 2018-12-05
http://android.git.kernel.org/ 上有說明 安裝git後,運行 git的bath形式,先輸入 cd /然後輸入 mkdir android輸入git clone git://android.git.kernel.org/platform/frameworks/base.git git clone git://android.git.kernel.org/platform/frameworks/base.git 斷行符號。開始下載android
Time of Update: 2018-12-05
1. 建立一個cocos2d-x android project: 在cocos2d-x sdk中運行 create-android-project.sh; //注意,先要把這個shell檔案開啟,確認最開頭兩行NDK 和 SDK的path和本地機器一致,cocos2d-x本身並不自動檢測 或者直接把sample下已經建好的HelloCpp拿來複製之後用2. 先檢查project是否可運行,需要先 build_native.sh,之前要把NDK_ROOT設定好,例如:export
Time of Update: 2018-12-05
其實android的這種機制和ios的UITableView顯示的方式如出一轍,不過理解後,對後面android的深入學習會很有協助。BaseAdapter ListView是Android開發過程中較為常見的組件之一,它將資料以列表的形式展現出來。一般而言,一個ListView由以下三個元素組 成:1.View,用於展示列表,通常是一個xml所指定的。大家都知道Android的介面基本上是由xml檔案負責完成的,所以ListView的界 面也理所應當的使用了xml定義。例如在ListView中
Time of Update: 2018-12-05
首先,在manifest.xml中添加user permission:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>代碼中,
Time of Update: 2018-12-05
和使用匿名線程相比較來說 AsyncTask 有如下好處:· 線程的開銷較大,如果每個任務都要建立一個線程,那麼應用程 序的效率要低很多;· 線程無法管理,匿名線程建立並啟動後就不受程式的控制了,如果有很多個請求發送,那麼就會啟動非常多的線程,系統將不堪重負。· 另外,前面已經看到,在新線程中更新UI還必須要引入handler,這讓代碼看上去非常臃腫。 AsyncTask定義了三種泛型型別 Params,Progress和Result。· Params
Time of Update: 2018-12-05
•android:theme="@android:style/Theme.Dialog" 將一個Activity顯示為能話框模式•android:theme="@android:style/Theme.NoTitleBar" 不顯示應用程式標題欄•android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不顯示應用程式標題欄,並全屏•android:theme="Theme.Light"
Time of Update: 2018-12-05
今天早早的就完成了任務,給大家分享一下socket編程。android中使用的是java的socket模型,如果你學過java網路編程,那麼你對它一定不陌生。今天我主要使用TCP協議實現通訊的。小知識點:UDP協議和TCP協議的不同。UDP是把資料都打成資料包,資料包上內建通訊的地址,但是資料包發出去之後UDP協議不能保證你能否收到。而TCP協議要求接收方收到資料後給個回應,當發送重要資料的時候就可以選擇TCP協議。UDP發送資料的量是有限的,而TCP是沒有限制的,當然這導致UDP很快,TCP
Time of Update: 2018-12-05
AnimationDrawable是Android實現動畫的一種簡單的形式,可以用來實現幀動畫。1.在res/drawable下定義friend.xml檔案:<?xml version="1.0" encoding="utf-8"?><animation-list android:oneshot="false"xmlns:android="http://schemas.android.com/apk/res/android"><item
Time of Update: 2018-12-05
首先,在使用者改變語言地區後,調用如下代碼Locale locale = getLocaleFormPreference(this);Configuration cfg = getResources().getConfiguration();l if(ocale!=null && !locale.equals(cfg.locale)) { Bundle bundle = new Bundle(); onSaveInstanceState(bundle);
Time of Update: 2018-12-05
最近,做了個自己的adapter類,但是碰到了個頭痛的問題,假如ListView,分成2頁(或者設定資料可以縱向拉,可隱藏),每頁3條資料,每個Listview的Item 裡面有個checkBox,現在,當我選擇第一頁的前兩天資料,翻到第二頁,竟然第二頁後兩條資料也選中了,這是絕對不允許的。經過本人的N次調試,發現public View getView(int position, View convertView, ViewGroup parent)傳進來的convertView
Time of Update: 2018-12-05
用到Button,誰都會想到網頁那裡面各式各樣的Button,那麼你是否也想設計出那種效果呢?呵呵,答案是肯定的,android很強大。但是,今天剛邁出第一步就發現了一個頭疼的問題。什麼事都是從簡到繁再到簡的,就像Button的設計也一樣。想設計出很多不同的很拉風的Button肯定第一步就是給Button設定背景,我也是這麼做的,可是設定背景為顏色後Button變成了Textview一樣,並且高度跟文字一樣,這肯定不是我想要的結果啦,然後百度得到了結果:先說再貼連結。android