Time of Update: 2015-07-23
Android GUI之Activity、Window、View,androidactivity 相信大家在接觸Android之初就已經知道了Activity中的setContentView方法的作用了,很明顯此方法是用於為Activity填充相應的布局的。那麼,Activity是如何將填充的布局繪製出來的呢?實際上Activity將View的繪製與顯示交給了Window對象來處理,下面我們通過源碼來進行跟蹤分析。 Activity的源碼如下,只給出我們關注的部分:public class
Time of Update: 2015-07-23
Android擷取TextView顯示的字串寬度,androidtextview工作上有業務需要判斷textview是否換行,我的做法是判斷textview要顯示的字串的寬度是否超過我設定的寬度,若超過則會執行換行。項目中的其他地方也有這樣的需求,故直接使用了那一塊的代碼。如下public float getTextWidth(Context Context, String text, int textSize){TextPaint paint = new TextPaint();float
Time of Update: 2015-07-23
Android資料儲存之SharedPreference,androidpreference前言:程式中處理的大部分問題都與資料有關,讀取資料顯示在UI上,讀取的資料可以是本地的,也可以是網路的。儲存使用者資料到儲存空間,可以是本地的資料庫,檔案等,也可以是儲存到網路伺服器。總之大部分的程式都是在和資料打交道。Android中資料儲存比較方便靈活,今天就按照官網說說資料儲存。大多數Android應用程式都需要儲存資料,在Android生命週期方法onPause中,你可以儲存使用者在程式中的進度資
Time of Update: 2015-07-23
Android
Time of Update: 2015-07-23
溫故知新,基礎複習(一個有序從大到小不重複的數列,任意給出一個sum值,求出數列中所有滿足和為sum的數對),sum數對溫故知新,基礎複習(一個有序從大到小不重複的數列,任意給出一個sum值,求出數列中所有滿足和為sum的數對)#include<stdio.h>#include<stdlib.h>void PrintSumNumbers(int Arra[],int ASize,int Sum){//O(1)if
Time of Update: 2015-07-23
仿網易用戶端實現頂部導航效果(ViewPager+Fragment),viewpagerfragment為了實現這個效果我竟然用了兩天的時間,我真是呵呵了,廢話不多說直接開始整理。這裡的Indicator是重寫的LinearLayout用來弄導覽列那個藍條的樣式以及位置的(這部分代碼是在別人那考過來的),代碼如下:package vikicc.titletab;import android.content.Context;import
Time of Update: 2015-07-23
仿path功能表按鈕的實現,仿path菜單path剛出來時,其功能表按鈕也算是讓大多數人感到了驚豔,現在看來其實是很簡單的就是動畫的結合。主要的代碼類 package cn.com.karl.anim;import com.zdp.aseo.content.AseoZdpAseo;import android.R.anim;import android.app.Activity;import android.content.Intent;import
Time of Update: 2015-07-23
Android Toast(多士) 簡單封裝,androidtoastAndroid Toast(多士)簡單封裝,且解決了Toast顯示時間疊加問題。public class ToastUtil { private static Toast toast=null; public static void showToast(Context context,String content){ if(toast!=null) { toast.cancel(
Time of Update: 2015-07-23
用到afinal註解的項目代碼混淆後某些控制項view點擊事件無效問題,afinalview 最近一個項目上線,要求代碼混淆,可混淆後某些控制項的點擊事件無效,後來發現是afinal註解的問題。查了半天資料,後來又問了afinal的相關人員,他們給出的解決方案是排除混淆被註解的類,這樣的話意味著基本所有的activity和fragment都不能混淆,這不是我想要的。
Time of Update: 2015-07-23
溫故知新,基礎複習(快速排序及最佳化),溫故知新排序溫故知新,基礎複習(快速排序及最佳化)使用了三值取中和插排最佳化#include<stdio.h>#define InsertSortNumber 10void InsertSort(int Arra[],unsigned int LowIndex,unsigned int HighIndex){printf("low=%d,high=%d\n",LowIndex,HighIndex);for
Time of Update: 2015-07-23
溫故知新,基礎複習(二元堆積排序),溫故知新堆排序溫故知新,基礎複習(二元堆積排序)最小堆(最終數組的資料是降序),最大堆(最終數組的資料是升序)下例是最小堆#include <stdio.h>#include <stdlib.h>void Swap(int Arra[],unsigned int LeftIndex,unsigned int RightIndex){int TeampValue =
Time of Update: 2015-07-23
XMPP系列(三)---擷取好友名單、添加好友,xmpp好友名單1、心跳檢測、掉線重連功能用戶端和伺服器端都可以設定多久發送一次心跳包,如果對方沒有返回正確的pong資訊,則會中斷連線,而添加掉線重連功能,則會自動進行串連。如果自己寫聊天功能還得自己做心跳檢測和掉線重連,比較麻煩。好在XMPP中已經做了心跳檢測和掉線重連的模組,只需要幾行代碼加進去就能實現掉線重連,非常方便。XMPP中Extensions檔案下都是可以自己添加的Module,它們都繼承自XMPPModule,而添加的方法也非常的
Time of Update: 2015-07-23
絕對讓你理解Android中的Context,理解androidcontext 這個問題是StackOverFlow上面一個熱門的問題What is Context in Android? 整理這篇文章的目的是Context確實是一個很抽象的東西,我們在項目中隨手都會用到它,可是很多人根本不理解它到底是幹什麼的,這篇文章還會添加Context in Andorid – INSIGHT的翻譯,絕對讓讀者理解Context的意義。老規矩,作者提出的問題:
Time of Update: 2015-07-23
Android基礎入門教程——3.2 基於回調的事件處理機制,android入門教程 Android基礎入門教程——3.2 基於回調的事件處理機制標籤(空格分隔): Android基礎入門教程本節引言 在3.1中我們對Android中的一個事件處理機制——基於監聽的事件處理機制進行了學習,簡單的說就是 為我們的事件來源(組件)添加一個監聽器,然後當使用者觸發了事件後,交給監聽器去處理,根據不同的事件
Time of Update: 2015-07-23
Android 5.0之後對HashMap的修改之前發現在Android 5.0的機子上放在HashMap裡面的資料取出後跟Android 5.0之下的機子不一樣,導致項目裡面一個介面出了問題(介面做了緩衝,request參數順序變化的話就會導致一些資料拿不到),然後去查看了一下Android 5.0和Android 4.4 關於HashMap的源碼,使用meld查看差異能夠看到果然google對HashMap的實現做了修改.左邊為Android 5.0的源碼,右邊為Android
Time of Update: 2015-07-23
android 點擊listview 展開和閉合 效果現在公司做的是電商項目,在我的優惠券介面中有個未使用和已使用, 在列表中要求 點擊item 把下面的刪除按鈕顯示出來,點擊其他item的時候把 之前顯示的 隱藏把正被點擊的item下的刪除按鈕顯示出來,這個其實很簡單,但是有一個問題就是如果點擊了一個item此時他是顯示的 但是再點擊同一個item的話 按到底要把它隱藏,這是考慮一個邏輯能力了,思考了一小時發現很簡單 現在貼一下關鍵的代碼1:首先定義一個數組 int[]
Time of Update: 2015-07-23
不需要任何許可權獲得Android裝置的唯一ID,許可權android裝置id 這個問題來自於Is there a unique Android device ID? 我對這個問題的答案做了整理,包括將另一篇文章加入進來作為補充,可以完美解決此問題。作者提出的問題: Android裝置有沒有唯一的id?如果有的話,我怎麼通過java代碼獲得這個id?答案: 我讀了stack OverStack上每一個答案,Google的開發人員部落格和Android文檔,我認為’Pseudo
Time of Update: 2015-07-23
android系統內建下拉重新整理控制項的實現,android控制項android系統內建的下拉重新整理控制項SwipeRefreshLayout位於android.support.v4.widget包下,實現步驟如下:1.在布局檔案中添加該控制項,該控制項一般作為父控制項,而且只能包含有一個子控制項,並且這個子控制項是能夠滑動的,比如scrollview,listview等2.實現OnRefreshListener介面,並重寫onRefresh函數詳細代碼如下:<android.supp
Time of Update: 2015-07-23
android系統內建下拉重新整理控制項的實現android系統內建的下拉重新整理控制項SwipeRefreshLayout位於android.support.v4.widget包下,實現步驟如下:1.在布局檔案中添加該控制項,該控制項一般作為父控制項,而且只能包含有一個子控制項,並且這個子控制項是能夠滑動的,比如scrollview,listview等2.實現OnRefreshListener介面,並重寫onRefresh函數 詳細代碼如下: import
Time of Update: 2015-07-23
Android自訂彈窗效果Android的彈窗效果有很多種,就最簡單而言,就可以調用一個AlertDialog彈窗顯示,可是要自訂彈窗效果有以下這種方法,就我個人而言感覺挺方便的,適用性也挺廣的。 首先先簡單寫個AlertDialog的使用 public void showDialog(){AlertDialog dialog = new