Social Icons

2014年10月16日 星期四

App - Locations by GPX (GPX位置產生器)


今天發表了一個App - Locations by GPX (GPX位置產生器)可以利用GPX檔案來模擬GPS的訊號,用來測試會用到GPS訊號的App很有用。

使用前一定要:
1. 『設定』要開啓『開發人員選項』
2. 在『開發人員選項』裡要開啓『允許模擬位置』

使用方法:
1. 匯入GPX檔案

2. 播放GPX檔案


3. 目前播放狀態




下載位置: Locations by GPX (GPX位置產生器)

2014年3月23日 星期日

今天我學到 - 為什麼在Android Studio裡PackageInfo的versionName為null?

將舊的Project改到Android Studio的環境中,遇到了一個問題。原本透過PackageInfo來查詢的versionName變成null,看一下AndroidManifest.xml也沒有錯(如下),為什麼會這樣呢?


    android:versionCode="3300"
    android:versionName="3.3.00">


原來是Gradle的原因,需要在Project裡的build.gradle,加上面描述才行。
android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
        versionCode 3300
        versionName "3.3.00"
    }

舊Project搬到Android Studio實在有很多『梅軋』,找時間慢慢寫出來。

2014年3月21日 星期五

今天我學到 - startActivityForResult總是收到RESULT_CANCELED的問題

startActivityForResult總是收到RESULT_CANCELED的問題

程式中,啟動相片程式去選取相片,但是相片程式還沒啟動時,Activity就收到RESULT_CANCELED的回傳,而且屢試不爽,仔細查了一下終於發現原因了。

檢查AndriodManifest.xml,找到您的Activity,看看是否有下面這行:
android:launchMode="singleInstance"
如果有的話,找到了,無論時singleInstance或者是singleTask,都沒有辦法收到回傳值的!

2013年7月14日 星期日

今天我學到 - ADT升級到22,libraries在編譯時不會被加入apk的問題。

最近將ADT升級到v22時,發現程式編譯起來怪怪的,一下是library找不到,一下子執行的時候又缺乏核心元件,搞的我心浮氣躁,差一點把電腦給砸了。

後來google了一下,發現已經有很多開發者在討論這個問題了,原文在此
簡單的說,當升級ADT 22之後,在Java Build Path裡頭,原本的應該link進去的library沒有被加進去。檢查和加入的步驟如下:

1.  將滑鼠移到Project上,點擊滑鼠右件,選擇『Properties』,叫出Properties視窗。
2. 點擊『Java Build Path』設定
3. 點擊『Order and Export』標籤
4. 確認『Android Private Library』有被選取
5. 點擊『OK』鍵,完成設定
6. 將滑鼠移到Project上,點擊滑鼠右件,點擊『refresh』,然後清除Project,並重新編譯。

我這樣試過之後就可以了,您也可以試一試。

2013年5月29日 星期三

今天我學到 - 在RelativeLayout中,如果使用include的時候,如何對元件佈局

今天在該程式界面的佈局,其中發生一個問題,我在RelativeLayout中用了2個include,原本想要讓他們上下排排站,卻發現跌在一起。原本的佈局如下:
  <RelativeLayout 
        android:layout_width="130dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="4dp"
        android:layout_marginLeft="4dp"
        android:orientation="vertical"
        >
        <include android:id="@+id/distance_panel"
            android:layout_alignParentTop="true"
         android:layout_alignParentLeft="true"
         android:layout_alignParentRight="true"
            layout="@layout/float_panel_name_low" />
        <include android:id="@+id/time_panel" 
            android:layout_below="@id/distance_panel"
         android:layout_alignParentLeft="true"
         android:layout_alignParentRight="true"
            layout="@layout/float_panel_name_low" />

後來查了一下,發現要把layout_width和layout_height也補上才會對,又學了一招。
   <RelativeLayout 
        android:layout_width="130dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="4dp"
        android:layout_marginLeft="4dp"
        android:orientation="vertical"
        >
        <include android:id="@+id/distance_panel"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
         android:layout_alignParentLeft="true"
         android:layout_alignParentRight="true"
            layout="@layout/float_panel_name_low" />
        <include android:id="@+id/time_panel" 
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
            android:layout_below="@id/distance_panel"
         android:layout_alignParentLeft="true"
         android:layout_alignParentRight="true"
            layout="@layout/float_panel_name_low" />