亚洲av成人无码久久精品,亚洲国产三级在线观看,久久久久一级精品亚洲国产成人综合AV区 http://m.tkk7.com/Green-nut/Enjoy your job~zh-cnMon, 12 May 2025 01:57:47 GMTMon, 12 May 2025 01:57:47 GMT60android listview 禁止 itemclick時的高亮顯示http://m.tkk7.com/Green-nut/articles/349031.htmlfanxufanxuTue, 26 Apr 2011 05:15:00 GMThttp://m.tkk7.com/Green-nut/articles/349031.htmlhttp://m.tkk7.com/Green-nut/comments/349031.htmlhttp://m.tkk7.com/Green-nut/articles/349031.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/349031.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/349031.html方法是在實現BaseAdapter的類中重載兩個方法。

public boolean areAllItemsEnabled() 
       
{
               
return false;
       
}
       
public boolean isEnabled(int position)
       
{
               
return false;
       
}


fanxu 2011-04-26 13:15 發表評論
]]>
android sqlite 數據庫問題http://m.tkk7.com/Green-nut/articles/349018.htmlfanxufanxuTue, 26 Apr 2011 02:20:00 GMThttp://m.tkk7.com/Green-nut/articles/349018.htmlhttp://m.tkk7.com/Green-nut/comments/349018.htmlhttp://m.tkk7.com/Green-nut/articles/349018.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/349018.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/349018.html開發中需要連接sqlite數據庫,使用如下方法打開數據庫:

    SQLiteDatabase database = SQLiteDatabase.openDatabase(PATH, null,SQLiteDatabase.OPEN_READONLY);

程序拋出異常:

    No such table android_metadata

解決辦法,將openDatabase方法中最后一個參數修改為

    SQLiteDatabase.NO_LOCALIZED_COLLATORS

再次運行程序,順利通過。


fanxu 2011-04-26 10:20 發表評論
]]>
android:windowSoftInputMode屬性使用http://m.tkk7.com/Green-nut/articles/349015.htmlfanxufanxuTue, 26 Apr 2011 02:16:00 GMThttp://m.tkk7.com/Green-nut/articles/349015.htmlhttp://m.tkk7.com/Green-nut/comments/349015.htmlhttp://m.tkk7.com/Green-nut/articles/349015.html#Feedback1http://m.tkk7.com/Green-nut/comments/commentRss/349015.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/349015.htmlhttp://m.tkk7.com/zhip/archive/2011/02/14/344258.html

在AndroidManifest.xml文件中的android:windowSoftInputMode屬性使用

The AndroidManifest.xml File

 <activity android:windowSoftInputMode=["stateUnspecified",

                                    "stateUnchanged", "stateHidden",

                                    "stateAlwaysHidden", "stateVisible",

                                    "stateAlwaysVisible", "adjustUnspecified",

                                    "adjustResize", "adjustPan"] …… >

</activity>

attributes:

android:windowSoftInputMode

活動的主窗口如何與包含屏幕上的軟鍵盤窗口交互。這個屬性的設置將會影響兩件事情:

1>     軟鍵盤的狀態——是否它是隱藏或顯示——當活動(Activity)成為用戶關注的焦點。

2>     活動的主窗口調整——是否減少活動主窗口大小以便騰出空間放軟鍵盤或是否當活動窗口的部分被軟鍵盤覆蓋時它的內容的當前焦點是可見的。

它的設置必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設置多個值——多個”state…”values,例如&mdash有未定義的結果。各個值之間用|分開。例如: <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

在這設置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設置的值

值 描述
 
"stateUnspecified" 軟鍵盤的狀態(是否它是隱藏或可見)沒有被指定。系統將選擇一個合適的狀態或依賴于主題的設置。這個是為了軟件盤行為默認的設置。
 
"stateUnchanged" 軟鍵盤被保持無論它上次是什么狀態,是否可見或隱藏,當主窗口出現在前面時。
 
"stateHidden" 當用戶選擇該Activity時,軟鍵盤被隱藏——也就是,當用戶確定導航到該Activity時,而不是返回到它由于離開另一個Activity。
 
"stateAlwaysHidden" 軟鍵盤總是被隱藏的,當該Activity主窗口獲取焦點時。
 
"stateVisible" 軟鍵盤是可見的,當那個是正常合適的時(當用戶導航到Activity主窗口時)。
 
"stateAlwaysVisible" 當用戶選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當用戶確定導航到該Activity時,而不是返回到它由于離開另一個Activity。
 
"adjustUnspecified" 它不被指定是否該Activity主窗口調整大小以便留出軟鍵盤的空間,或是否窗口上的內容得到屏幕上當前的焦點是可見的。系統將自動選擇這些模式中一種主要依賴于是否窗口的內容有任何布局視圖能夠滾動他們的內容。如果有這樣的一個視圖,這個窗口將調整大小,這樣的假設可以使滾動窗口的內容在一個較小的區域中可見的。這個是主窗口默認的行為設置。
 
"adjustResize" 該Activity主窗口總是被調整屏幕的大小以便留出軟鍵盤的空間。
 
"adjustPan" 該Activity主窗口并不調整屏幕的大小以便留出軟鍵盤的空間。相反,當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內容的部分。這個通常是不期望比調整大小,因為用戶可能關閉軟鍵盤以便獲得與被覆蓋內容的交互操作。
 



fanxu 2011-04-26 10:16 發表評論
]]>
java 文件 排序http://m.tkk7.com/Green-nut/articles/348307.htmlfanxufanxuThu, 14 Apr 2011 10:05:00 GMThttp://m.tkk7.com/Green-nut/articles/348307.htmlhttp://m.tkk7.com/Green-nut/comments/348307.htmlhttp://m.tkk7.com/Green-nut/articles/348307.html#Feedback1http://m.tkk7.com/Green-nut/comments/commentRss/348307.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/348307.html
知識點
1.數組可以直接排序,不用轉換為ArrayList。
java.util.Arrays.sort(T[] a, Comparator<? super T> c)
2.利用Comparator接口,我們可以方便的設計自己的排序規則。
Comparator接口里就一個函數,int compare(T o1, T o2)
返回值有三個, 0, -1, 1 
分別表示,相等,小于和大于
3.中文字符串如何排序
中文字符串排序肯定要用到中文排序的Comparator,幸運的是,java有提供這樣的Comparator。
獲取方法
Collator.getInstance(java.util.Locale.CHINA);

下面是,自己封裝的一個文件排序的類,有四種排序方法。

package com.test;

import java.io.File;
import java.sql.Date;
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;

public class FileSorter implements Comparator<File>{
    
/**默認排序的方式, 按目錄,文件排序TYPE_DIR*/
    
public static final int TYPE_DEFAULT             = -1;
    
/**按修改時間,降序*/
    
public static final int TYPE_MODIFIED_DATE_DOWN = 1;
    
/**按修改時間,升序*/
    
public static final int TYPE_MODIFIED_DATE_UP    = 2;
    
/**按文件大小,降序*/
    
public static final int TYPE_SIZE_DOWN            = 3;
    
/**按文件大小,升序*/
    
public static final int TYPE_SIZE_UP            = 4;
/*  public static final int TYPE_NAME_DOWN            = 5;
    public static final int TYPE_NAME_UP            = 6;
*/
    
/**按文件名*/
    
public static final int TYPE_NAME                 = 5;
    
/**按目錄,文件排序*/
    
public static final int TYPE_DIR                = 7;
    
    
private int mType = -1;
    
    
public FileSorter(int type) {
        
if (type < 0 || type > 7) {
            type 
= TYPE_DIR;
        }
        mType 
= type;
    }
    @Override
    
public int compare(File object1, File object2) {
        
        
int result = 0;
        
        
switch (mType) {
        
        
case TYPE_MODIFIED_DATE_DOWN://last modified date down
            result = compareByModifiedDateDown(object1, object2);
            
break;
            
        
case TYPE_MODIFIED_DATE_UP://last modified date up
            result = compareByModifiedDateUp(object1, object2);
            
break;
            
        
case TYPE_SIZE_DOWN:    // file size down
            result = compareBySizeDown(object1, object2);
            
break;
            
        
case TYPE_SIZE_UP:        //file size up
            result = compareBySizeUp(object1, object2);
            
break;
            
        
case TYPE_NAME:            //name 
            result = compareByName(object1, object2);
            
break;
            
        
case TYPE_DIR:            //dir or file
            result = compareByDir(object1, object2);
            
break;
        
default:
            result 
= compareByDir(object1, object2);
            
break;
        }
        
return result;
    }
    
private int compareByModifiedDateDown(File object1, File object2) {
        
        
long d1 = object1.lastModified();
        
long d2 = object2.lastModified();
        
        
if (d1 == d2){
            
return 0;
        } 
else {
            
return d1 < d2 ? 1 : -1;
        }
    }
    
private int compareByModifiedDateUp(File object1, File object2) {
        
        
long d1 = object1.lastModified();
        
long d2 = object2.lastModified();
        
        
if (d1 == d2){
            
return 0;
        } 
else {
            
return d1 > d2 ? 1 : -1;
        }
    }
    
private int compareBySizeDown(File object1, File object2) {
        
        
if (object1.isDirectory() && object2.isDirectory()) {
            
return 0;
        }
        
if (object1.isDirectory() && object2.isFile()) {
            
return -1;
        }
        
if (object1.isFile() && object2.isDirectory()) {
            
return 1;
        }
        
long s1 = object1.length();
        
long s2 = object2.length();
        
        
if (s1 == s2){
            
return 0;
        } 
else {
            
return s1 < s2 ? 1 : -1;
        }
    }
    
private int compareBySizeUp(File object1, File object2) {
        
        
if (object1.isDirectory() && object2.isDirectory()) {
            
return 0;
        }
        
if (object1.isDirectory() && object2.isFile()) {
            
return -1;
        }
        
if (object1.isFile() && object2.isDirectory()) {
            
return 1;
        }
        
        
long s1 = object1.length();
        
long s2 = object2.length();
        
        
if (s1 == s2){
            
return 0;
        } 
else {
            
return s1 > s2 ? 1 : -1;
        }
    }
    
private int compareByName(File object1, File object2) {
        
        Comparator
<Object> cmp = Collator.getInstance(java.util.Locale.CHINA);
        
        
return cmp.compare(object1.getName(), object2.getName());
    }
    
private int compareByDir(File object1, File object2) {
        
        
if (object1.isDirectory() && object2.isFile()) {
            
return -1;
        } 
else if (object1.isDirectory() && object2.isDirectory()) {
            
return compareByName(object1, object2);
        } 
else if (object1.isFile() && object2.isDirectory()) {
            
return 1;
        } 
else {  //object1.isFile() && object2.isFile()) 
            return compareByName(object1, object2);
        }
    }
    
//for test
    public static void main(String[] args){
         
        File[] list 
= new File("/usr").listFiles();
        Arrays.sort(list, 
new FileSorter(FileSorter.TYPE_SIZE_UP));
        printFileArray(list);
    }
    
//for test
    private static void printFileArray(File[] list) {
        
        System.out.println(
"文件大小\t\t文件修改日期\t\t文件類型\t\t文件名稱");
        
        
for (File f : list) {
            System.out.println(f.length() 
+ "\t\t" + new Date(f.lastModified()).toString() + "\t\t" + (f.isDirectory() ? "目錄" : "文件"+ "\t\t" +  f.getName() );
        }
    }
    
}



fanxu 2011-04-14 18:05 發表評論
]]>
郵件客戶端Evolution-Gmail賬戶設置http://m.tkk7.com/Green-nut/articles/348179.htmlfanxufanxuWed, 13 Apr 2011 02:17:00 GMThttp://m.tkk7.com/Green-nut/articles/348179.htmlhttp://m.tkk7.com/Green-nut/comments/348179.htmlhttp://m.tkk7.com/Green-nut/articles/348179.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/348179.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/348179.html

主要內容:

接收電子郵件:

    服務器類型:pop;

    服務器:pop.gmail.com:995 (POP服務器地址:pop.gmail.com 端口:995支持SSL)
    用戶名:你的gmail地址,如username@gmail.com 

    使用安全鏈接:SSL加密。

    認證類型:密碼

    記住密碼:(按照個人習慣)記住或者不記并不影響收發郵件

發送電子郵件:

    服務器類型:smtp;

    服務器:smtp.gmail.com:465 SMTP服務器地址: smtp.gmail.com 端口:465 或者 587 支持SSL )

    服務器需要認證:選中;

    使用安全鏈接,SSL加密; 

    身份驗證:用默認的"Plain"; 

    用戶名:同你的郵件地址,如username@gmail.com,

    記住密碼:按照個人習慣設置。

其他內容按照提示完成,保存后就可以接受到Gmail賬戶中的郵件了。



fanxu 2011-04-13 10:17 發表評論
]]>
android TextView 實現關鍵字高亮http://m.tkk7.com/Green-nut/articles/348167.htmlfanxufanxuTue, 12 Apr 2011 10:27:00 GMThttp://m.tkk7.com/Green-nut/articles/348167.htmlhttp://m.tkk7.com/Green-nut/comments/348167.htmlhttp://m.tkk7.com/Green-nut/articles/348167.html#Feedback1http://m.tkk7.com/Green-nut/comments/commentRss/348167.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/348167.html需求:搜索TextView里面的關鍵字,并高亮顯示。
實現方法:
利用SpannableString 的特性,搜索TextView的要顯示的字符串,將相應的關鍵字標記為高亮
設計到的api
1. SpannableString 
  這是一個很奇妙的東西,利用他你可以實現qq聊天記錄自動替換表情文字的效果。當然,這里我們只要將文字設計成高亮就可以了
2. 這里有個api函數,

         public abstract void setSpan (Object what, int start, int end, int flags)

Since: API Level 1

Attach the specified markup object to the range start…end of the text, or move the object to that range if it was already attached elsewhere. See Spanned for an explanation of what the flags mean. The object can be one that has meaning only within your application, or it can be one that the text system will use to affect text display or behavior. Some noteworthy ones are the subclasses of CharacterStyle and ParagraphStyle, and TextWatcher and SpanWatcher

這個函數的object是給定的樣式,或者替換什么的,start和end指定了采用樣式的位置,flags我不知道是什么,這里用源碼里面的Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
3. 搜索方法,這里只是一個簡單的測試,用正則實現的搜索。
上代碼
TextView tv = (TextView) findViewById(R.id.hello);
        SpannableString s 
= new SpannableString(getResources().getString(R.string.linkify));
    
        Pattern p 
= Pattern.compile("abc");
        
        
         Matcher m 
= p.matcher(s);

        
while (m.find()) {
            
int start = m.start();
            
int end = m.end();
            s.setSpan(
new ForegroundColorSpan(Color.RED), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
        tv.setText(s);
要是大數據量的時候,每次搜索都重新setText可能效率上非常不好,這里提供一個看過源碼的建議,在一次setText(spannable s) 之后,每次getText獲取的就是spannable了,所以不用每次更改和重新載入數據,直接更改就可以了。
參考
http://yuanzhifei89.iteye.com/blog/983944   這個頁面有些各種各樣的樣式和實現點擊跳轉的方法即Linkify
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.0_r1/android/text/util/Linkify.java#Linkify.gatherLinks%28java.util.ArrayList%2Candroid.text.Spannable%2Cjava.util.regex.Pattern%2Cjava.lang.String%5B%5D%2Candroid.text.util.Linkify.MatchFilter%2Candroid.text.util.Linkify.TransformFilter%29  LINKify源碼


fanxu 2011-04-12 18:27 發表評論
]]>
android 短信數據庫http://m.tkk7.com/Green-nut/articles/347903.htmlfanxufanxuFri, 08 Apr 2011 09:23:00 GMThttp://m.tkk7.com/Green-nut/articles/347903.htmlhttp://m.tkk7.com/Green-nut/comments/347903.htmlhttp://m.tkk7.com/Green-nut/articles/347903.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/347903.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/347903.html
這里主要是對android短信數據庫,對話模式的解析。

1. 獲取 conversations 列表
Uri content://mms-sms/conversations?simple=true
這個表就是短信數據庫中thread_list表,字段完全一模一樣。

2. 根據第一步里面的thread_id

查詢表sms

Uri content://sms

即可獲取一條條的短信信息

參考文檔
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.2_r1.1/android/provider/Telephony.java#Telephony.Threads.0CONTENT_URI
以及android sms短信客戶端源碼 和 android 短信provider源碼



fanxu 2011-04-08 17:23 發表評論
]]>
htc desire hd 1.84 roothttp://m.tkk7.com/Green-nut/articles/347583.htmlfanxufanxuSun, 03 Apr 2011 05:05:00 GMThttp://m.tkk7.com/Green-nut/articles/347583.htmlhttp://m.tkk7.com/Green-nut/comments/347583.htmlhttp://m.tkk7.com/Green-nut/articles/347583.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/347583.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/347583.htmlhttp://bbs.gfan.com/android-920891-1-1.html
本帖最后由 heleneq 于 2011-3-17 15:48 編輯

對于之前大家說的文件下載不了的問題,我現在上傳一個我自己用過的所有的文件的打包,直接cmd到這個目錄,執行命令即可
root工具下載地址http://u.115.com/file/t2a7876181#
可能說的比較籠統,詳細的說一下步驟吧
1、先安裝深度卸載工具,自己去下載吧,網上很多
2、下載root工具,地址在上邊
3、usb連接電腦,選擇僅充電
4、打開命令提示符,cd到root工具目錄(解壓后的)
5、
  1. adb push su /sdcard/su
  2. adb push Superuser.apk /sdcard/Superuser.apk
  3. adb push rage /data/local/tmp/rage
  4. adb push busybox /data/local/tmp/busybox
  5. adb push root /data/local/tmp/root
  6. adb shell chmod 0755 /data/local/tmp/*
  7. adb push psneuter /data/local/tmp
  8. adb shell chmod 777 /data/local/tmp/psneuter
  9. adb shell /data/local/tmp/psneuter
  10. adb shell
復制代碼

如果顯示變成了#,說明成功臨時root
  1. cd\
  2. adb push gfree /data/local
  3. adb shell
  4. cd /data/local
  5. chmod 777 gfree
  6. ./gfree -f
  7. sync
  8. /data/local/tmp/root
  9. sync
復制代碼

7、最后會有個錯誤提示“mkdir: /system/xbin already exists”,不用管它,重啟手機
這個時候你會在程序列表中看到一個大兵模樣的圖標,我打開的時候什么都沒有,不用管它
8、打開深度卸載,提示你root權限,點擊允許,你就可以刪除你不想要的程序了

至此完成!如有不能這么做的,我也沒有辦法,呵呵!


fanxu 2011-04-03 13:05 發表評論
]]>
android 混淆http://m.tkk7.com/Green-nut/articles/347512.htmlfanxufanxuSat, 02 Apr 2011 02:47:00 GMThttp://m.tkk7.com/Green-nut/articles/347512.htmlhttp://m.tkk7.com/Green-nut/comments/347512.htmlhttp://m.tkk7.com/Green-nut/articles/347512.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/347512.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/347512.htmlhttp://blog.k-res.net/?p=819
ant 混淆的規則,我不大了解,也沒看。
android里面混淆其實就加一句話就可以了
文件build.properties里面添加proguard.config=proguard.cfg
可以右鍵項目->Android Tools->Export Signed (或Unsigned)  Application Package…,生成的apk包
我測試過,混淆代碼沒有問題,但是界面xml是沒有混淆的


fanxu 2011-04-02 10:47 發表評論
]]>
ubuntu用戶環境變量設置http://m.tkk7.com/Green-nut/articles/347511.htmlfanxufanxuSat, 02 Apr 2011 02:44:00 GMThttp://m.tkk7.com/Green-nut/articles/347511.htmlhttp://m.tkk7.com/Green-nut/comments/347511.htmlhttp://m.tkk7.com/Green-nut/articles/347511.html#Feedback0http://m.tkk7.com/Green-nut/comments/commentRss/347511.htmlhttp://m.tkk7.com/Green-nut/services/trackbacks/347511.html
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
PATH="$HOME/android/android-sdk-linux_x86-1.6_r1/platform-tools:$PATH";
PATH="/home/fanxu/android/decompiling/apktool:$PATH";
PATH="/home/fanxu/android/decompiling/dex2jar:$PATH";
export PATH
類似這種,添加一條進去就可以了

注意,要想立即生效,要執行命令
source .profile


fanxu 2011-04-02 10:44 發表評論
]]>
主站蜘蛛池模板: 亚洲乱妇熟女爽到高潮的片| 阿v视频免费在线观看| 午夜成人免费视频| 美女羞羞喷液视频免费| 亚洲自偷自偷图片| 国产92成人精品视频免费| 亚洲乱妇熟女爽到高潮的片| 亚洲综合日韩久久成人AV| 在线看片v免费观看视频777| 成人a毛片免费视频观看| 亚洲一区综合在线播放| 国产免费av片在线播放| 暖暖日本免费中文字幕| 亚洲AV无码一区二区大桥未久| 国产亚洲精品资源在线26u| 毛片免费vip会员在线看| 成人黄网站片免费视频| 久久精品国产亚洲AV未满十八| 久久精品亚洲视频| xvideos亚洲永久网址| 美女视频黄是免费的网址| 国产免费A∨在线播放| 亚洲中文字幕乱码熟女在线| 亚洲AV无码一区二区乱子伦| 亚洲福利视频一区二区| 国产精品久久久久免费a∨| 久久久精品免费国产四虎| 国产亚洲女在线线精品| 亚洲AV成人影视在线观看| 亚洲AV日韩AV永久无码久久 | 亚洲精品无码久久毛片| 一个人免费高清在线观看| 一级毛片免费视频| 久久毛片免费看一区二区三区| 亚洲国产综合AV在线观看| 亚洲无线一二三四区| 亚洲国产精品久久| 亚洲色精品88色婷婷七月丁香| 亚洲高清最新av网站| 热99re久久免费视精品频软件| h视频在线观看免费完整版|