2012年8月23日

【Android】Android 3.0 使用WebService 發生android.os.NetworkOnMainThreadException異常

WebService (包含HTTP Request等)在2.x以前可以正常運作,但在Android 3.0以後會出現
下列這問題: android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
原因在於從API 9開始,android 對 Thread Policy有所改變,導致對Network存取會發生不允許的現像。

Solution:
 在onCreate()加入下段程式


    if (android.os.Build.VERSION.SDK_INT > 9) {
      StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
      StrictMode.setThreadPolicy(policy);
    }
Reference:


2012年8月2日

【Android】Create a new Activity



You can use the "New Class" dialog, but that leaves other steps you need to do by hand (e.g. adding an entry to the manifest file). If you want those steps to be automated, you can create the activity via the manifest editor like this:
  1. Double click on AndroidManifest.xml  in the package explorer.

2012年6月18日

【Andoid】eclipse connect to mobile device

1.Turn on "USB Debugging" on your device 
     Android 2.X :Settings > Applications > Development > enable USB debugging 
     Android 4.0 :Settings > Developer > enable USB debugging 

2.Set up your system to detect your device
     Windows:install USB Driver
     Mac OS X:It works, skip it.

Reference:

【Android】R.java is missing?

When creating a new Android project, but got an error, can't find 'R'. Tracing the project, we can find that R.java is missing.

This is due to setup incorrect target build settings. Target build was set toAndroid 2.1 (SDK v7) where his layout XML used Android 2.2 (SDK v8) elements (layout parametermatch_parent), due to this there was no way for Eclipse to correctly generate the R.java file which caused all the problems.

Solution:

  • Remove  import android.R.*
  • Project->Clean , to regenerate R.java
Reference:

2012年4月18日

【HTML】How to know IE and add code

IE、Chrome 和 Firefox對javascript/css的支援度都不一樣,有時css在IE是正常,但在Firefox下卻亂掉,常常讓人非常困擾,一般而言,IE對JavaScript跟CSS支援度最差,如果能判斷Browse是否為IE再載入特定的CSS或JavaScript便能解決問題。

目前最常見用來判斷Browser類型的有兩種語法(JavaScript/HTML),建議用HTML語法來寫,因為不管是那種Browser都通用:

1。檢查是否為IE



2。檢查IE的版本




2012年4月3日

【Linux】Ubuntu 10.04 LTS install sun-java-sdk


-----2012.04.03 Update-------------------------------------------------------------
由於最近canonical remove all Sun JDK packages from the Partner archive.
所以只能透過PPA來install sun java 6

 sudo apt-add-repository ppa:flexiondotorg/java 

 sudo apt-get update 

 sudo apt-get install sun-java6-jdk sun-java6-plugin  

 sudo update-java-alternatives -s java-6-sun

Reference:


2012年2月10日

【Android】Signing Your Applications

在寫好Android app時,若要將它上架至Market上,要先使用正確的Keystore將
APK sign好才能上架,通常在開發app跑在avd所用的都是debug.keystore,不能用
於正式上架的APK。

1。generate Keystore


  • Use JDK tool - keytool  to generate private key
  • keytool -genkey -v -keystore key-file.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 365
  • keytool要求輸入密碼與其它資訊,365為有效期限,可以設大一點,如:Insyde market就需要20年的有效期限。


2。use eclipse to sign android app
     在Package Explorer上點選Project
      File-->Export-->Android/Export Android Application
      再依照wizard進行輸入Private key 密碼。


Reference:
Android Dev: Signing Application
Android Dev: Signing Your Application            

2012年2月8日

【Android】Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE


When running android application on AVD, the error shows that

[2012-02-08 22:18:15 - ShowPhotos] Installing ShowPhotos.apk...
[2012-02-08 22:18:17 - ShowPhotos] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2012-02-08 22:18:17 - ShowPhotos] Please check logcat output for more details.
[2012-02-08 22:18:17 - ShowPhotos] Launch canceled!

Solution:ON AVD->Settings->Applications->Manage applications->remove the app->Run again

2011年11月9日

【Excel】固定單一欄位運算值

Excel如何固定單一欄位運算值









A1  :固定參數
C欄:變動參數
D欄:A1*C欄的值

一般情況下,會先寫好D1(=A1*C1)的運算式,再直接右下十字下拉到

D2, D3....但其運算式會隨著ROW而變動,D2(=A2*C2),D3(=A3*C3),

但這不是我們要的結果,此時就需要用($)來固定單一運算值。


D1 = A1* C1  ==改成==> D1 = $A$1*C1,再用右下十字下接到D2,D3..

2011年10月25日

【Google】搜尋列預設國家設定

Q:
     Google 搜尋列之搜尋網域跑掉時,如原本www.google.com.tw變成www.google.co.jp

A:


     預設的搜尋引擎被更動到了,新增一個

名稱     Google.tw
關鍵字  google.com.tw
網址 http://www.google.com.tw/search?hl=zh-TW&source=hp&q=%s&btnG=Google+%E6%90%9C%E5%B0%8B&aq=f&aqi=g10&aql=&oq=&gs_rfai=

2011年8月1日

【Tax】稅率級距表

99至100年度起綜合所得稅速算公式一覽表(單位:新臺幣元)
綜合所得淨額稅率累進差額全年應納稅額
500,000元以下 ×5% -0元= 全年應納稅額
500,001元 ~ 1,130,000元 ×12% -35,000元= 全年應納稅額
1,130,001元 ~ 2,260,000元 ×20% -125,400元= 全年應納稅額
2,260,001元 ~ 4,230,000元 ×30% -351,400元= 全年應納稅額
4,230,001元以上 ×40% -774,400元= 全年應納稅額
 
97至98年度綜合所得稅速算公式一覽表(單位:新臺幣元)
綜合所得淨額稅率累進差額全年應納稅額
410,000元以下 ×6% -0元= 全年應納稅額
410,001元 ~ 1,090,000元 ×13% -28,700元= 全年應納稅額
1,090,001元 ~ 2,180,000元 ×21% -115,900元= 全年應納稅額
2,180,001元 ~ 4,090,000元 ×30% -312,100元= 全年應納稅額
4,090,001元以上 ×40% -721,100元= 全年應納稅額
 
92至96年度綜合所得稅速算公式一覽表(單位:新臺幣元)
綜合所得淨額稅率累進差額全年應納稅額
370,000元以下 ×6% -0元= 全年應納稅額
370,001元 ~ 990,000元 ×13% -25,900元= 全年應納稅額
990,001元 ~ 1,980,000元 ×21% -105,100元= 全年應納稅額
1,980,001元 ~ 3,720,000元 ×30% -283,300元= 全年應納稅額
3,720,001元以上 ×40% -655,300元= 全年應納稅額


參考網站:

2011年7月10日

【App Store】+ on App

The + symbol in the front of Apps in App Store indicate that

the application is a universal app, which means that the app is

designed for both the iPhone and the iPad.

You just pay one time then can download in iPhone and iPad.

2011年7月6日

【C#】Truncate the string

當字串太長時,若要擷取某一部份的字串時,通常會使用
String.substring(int32 a, int32 b)方法,從第
a個位置開始,取得長度為6的字串。
但若是中英夾雜的字串,用此方法可能會擷到中文字的一
字元,此時就需另一個判斷方式。


string str = "I'am 中文字";
int maxLength = 8; //擷取長度為7byte的字串
string result='';
int count = 0;
foreach(char a in str)
{
     counter = counter+ System.Text.Encoding.GetEncodeing("Big5").GetBytes(str.ToString()).Length;
     if(count <= maxLength)
     {
            result = result + a;
     }
     else
     {
            break;
     }
}
System.Writeline(result+"...");

2011年6月29日

【Excel】How to 四捨五入

1. ROUND Function

ROUND(number, num_digits)

。number:想要執行四捨五入計算的數字。

。num_digits:對數字引數執行四捨五入計算時的位數。

EX:
。ROUND(A1,3)=12.346 //A1=12.3456789

。ROUND(A1,-1)=10

2. 設定儲存格格式

格式->儲存格格式->數值分頁->"數值"or"貨幣"

2011年6月20日

【C#】Decimal型別

decimal 關鍵字表示 128 位元的資料型別。相較於浮點型別,decimal 型別有較高的精確度和較小的範圍,讓它非常適合財務和金融計算。

常值:

         如果要將數字實數常值宣告為decimal處理,請使用後置字元 m 或 M,例如:
         
decimal myMoney = 300.5m;

         如果沒有後置字元 m,數字會被視為double處理,因而產生編譯器錯誤。

 轉換:

         整數類資料型別 (Integral Type) 隱含轉換成 decimal,無須在後置字元,如下:
   
decimal myMoney = 300;

        但float與decimal之間並沒有隱含轉換,因此,這兩種型別之間的轉換 (Conversion) 必須使用轉換 (Cast);
decimal myMoney = 99.9m;
double x = (double)myMoney;
myMoney = (decimal)x;

範例:
decimal d = 9.1m;
int y = 3;
Console.WriteLine(d + y);   // Result converted to decimal, 12.1

2011年5月26日

【Android】Layout 屬性

Android基本的Layout屬性很多,其中最常看到的是UI元素長寬之fill_parent與wrap_content,但有時還是搞不懂是UI元素的屬性,還是元素中文字的屬性。以android:layout_gravity與android:gravity來看,有加layout是指元素本身相對於它的父元素而言,它顯示的位置:

android:layout_gravity="left"

2011年5月22日

【Blogger】Use SyntaxHighlighter for Blogger

想要讓Source Code快速且美觀地呈現在Blogger上,就非「SyntaxHighlighter」莫屬了,去官網發現已經更新到 3.083了,裡面也有詳細說明SyntaxHightlighter安裝的步驟,一般都而言都是先下載套件,再上傳到WebSite上,但Blogger使用者有福了,SyntaxHighlighter有「Blogger教學手冊」並提供Link可以直接用,省去下載&上傳的步驟。
  1. Go to Blogger Dashboard > Design > Edit HTML.
  2. Press CTRL+F to find the code 
  3. Copy the below code

2011年5月11日

2011年4月28日

【Android】A notice about AndroidManifest.xml

Any tag in AndroidManifest.xml should be lowercase!

<service android:name = ".counterService"
            android.enabled = "true">
</service>