最近使用HTC Legend開發時,卻一直無法使用同步軟體,雖然將htc的軟體
全部移除後再安裝上去,可以同步,但是eclipse打開後又全部變成斷線
而無法連線,在eclipse上面雖然可以看到htc的裝置,但卻無法將apk安裝
一直出現下面的訊息:
Installation error: INSTALL_FAILED_CONTAINER_ERROR
Please check logcat output for more details.
Launch canceled!就算在裝置管理員上重新安裝不同的adb驅動程式,也都無法解決問題
後來在網站上找到一個解決方法,暫時可以在eclipse上將程式安裝
只是仍無法用htc sync連線,先暫時可以開發就好~其他的再慢慢處理了…
解決方法:
1、用usb線將手機與電腦連結,而連結的方式設為磁碟機
2、在手機sd卡中找尋 .android_secure的資料夾
3、找到smdl2tmp1.asec檔案,並且將它刪除(或先移到別的地方)
再使用eclipse來安裝程式,應該就可以了
2012年12月11日 星期二
2012年12月6日 星期四
Eclipse更新後出現錯誤(Incorrect line ending: found carriage return (\r) without corresponding newline (\n))
今天更新後,在xml出現這個錯誤
Incorrect line ending: found carriage return (\r) without corresponding newline (\n)
使用更新前的版本卻沒有出錯,後來找到了解決方法
原本的寫法
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient_white"
android:orientation="vertical" >
後來改成
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient_white"
android:orientation="vertical" >
這樣子就解決了,推測更新的版本要求每個xml指令,必須換行才能正確執行
另一種方法更有效,Ctrl+Shift+F 按下後,儲存即可
Incorrect line ending: found carriage return (\r) without corresponding newline (\n)
使用更新前的版本卻沒有出錯,後來找到了解決方法
原本的寫法
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient_white"
android:orientation="vertical" >
後來改成
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient_white"
android:orientation="vertical" >
這樣子就解決了,推測更新的版本要求每個xml指令,必須換行才能正確執行
另一種方法更有效,Ctrl+Shift+F 按下後,儲存即可
2012年11月23日 星期五
更換Activity為進入程式的第一個內容
當我們有很多個Activity時,要將某一個Activity設定第一個進入時
執行的內容,只要在AndroidManifest.xml中設定
如下面這個例子:
要將SecondActivity設為主要的Activity,只要將紅色的內容放進去就可以
但是,請注意,只能放在一個Activity中
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
</activity>
<activity android:name="SecondActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
執行的內容,只要在AndroidManifest.xml中設定
如下面這個例子:
要將SecondActivity設為主要的Activity,只要將紅色的內容放進去就可以
但是,請注意,只能放在一個Activity中
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
</activity>
<activity android:name="SecondActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
顏色的設定
當我們在設計時,可以有許多顏色的變化,而這邊有2種設定顏色的方式
將文字設為白色
TextView.setTextColor(Color.WHITE)
將文字設為綠色
TextView.setTextColor(Color.GREEN)
在 預設的顏色中會有12種可以選擇
(路徑:/res/values/color.xml)
在xml底下的程式如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="自訂名稱">#ARGB</color>
<color name="Red">#DC0300</color>
<color name="Pink">#3fFF19FC</color>
<color name="Black">#000000</color>
<color name="White">#ffffff</color>
</resources>
而在上面的例子中,總共有4種顏色的設定,
而顏色的設定由ARGB來變化
顏色的設定由A(透明)、R(紅色)、G(綠色)、B(藍色)
來設定,而它的數值由0~256,但是這裡必須用16進位
因此256=ff,而顏色的變化為8個數值
所以我們以黑色來看(沒有任何顏色):# 000000或#000
那為什麼這裡只有6個數值呢,因為它不透明,所以省略
也就是說如果你不用透明度,那你的顏色只要6個數值就好
而白色為#ffffff或#fff
如果要加上透明度,就如果上面的pink:#3fFF19FC
3f為它透明的程度,00是不透明,ff是完全透明
當我們設定xml之後,就可以在程式碼中加入設定的顏色
TextView.setTextColor(getResources().getColor(R.color.Pink))
第一種是android的預設顏色:
以Textview來看:將文字設為白色
TextView.setTextColor(Color.WHITE)
將文字設為綠色
TextView.setTextColor(Color.GREEN)
在 預設的顏色中會有12種可以選擇
而第二種為自訂顏色:
當我們自訂顏色時,要自訂一個color.xml放在/res/values下(路徑:/res/values/color.xml)
在xml底下的程式如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="自訂名稱">#ARGB</color>
<color name="Red">#DC0300</color>
<color name="Pink">#3fFF19FC</color>
<color name="Black">#000000</color>
<color name="White">#ffffff</color>
</resources>
而在上面的例子中,總共有4種顏色的設定,
而顏色的設定由ARGB來變化
顏色的設定由A(透明)、R(紅色)、G(綠色)、B(藍色)
來設定,而它的數值由0~256,但是這裡必須用16進位
因此256=ff,而顏色的變化為8個數值
所以我們以黑色來看(沒有任何顏色):# 000000或#000
那為什麼這裡只有6個數值呢,因為它不透明,所以省略
也就是說如果你不用透明度,那你的顏色只要6個數值就好
而白色為#ffffff或#fff
如果要加上透明度,就如果上面的pink:#3fFF19FC
3f為它透明的程度,00是不透明,ff是完全透明
當我們設定xml之後,就可以在程式碼中加入設定的顏色
TextView.setTextColor(getResources().getColor(R.color.Pink))
2012年11月16日 星期五
程式與界面連結
當我們建立一個專案,開始進來時android都會預設一些method()
而我們在規畫主程式時,執行的核心通常都在onCreate()之中
下面以一個簡單例子來說明,讓我們的程式能與我之前說明的layout產生關聯
程式源碼:
//這裡為你專案設定的名稱
package com.example.helloworld;
//將需要的method載入
import android.os.Bundle;
.
.
略
//宣告方式有public(公開)、private(個別)、protected(受限制的)
但主要或共用method一定要public
//extends代表繼承,在這裡我們設定的內容是個活動(activity)所以要繼承Activity
這樣子我們才能始用預設好的Activity方法
public class MainActivity extends Activity
{
//開始宣告一些變數,這些變數與誰連結、屬於那一類別、要做什麼功能
都與這些變數有關
//宣告tv1,tv2為TextView類別的變數
TextView tv1, tv2;
//宣告bt1為Button類別的變數
Button bt1;
//宣告lay1為View類別的變數(這個可用於控制layout)
View lay1;
//註解Override為覆載,也就是說執行這個method時一定要看父類別中是否有onCreate
這個函數,如果沒有則無法使用
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設定要顯示的內容視窗
setContentView(R.layout.activity_main);
// 指定tv1與介面的textview1連結
tv1 = (TextView) findViewById(R.id.textView1);
// 指定bt1與介面的button1連結
bt1 = (Button) findViewById(R.id.button1);
// 指定介面的layout與lay1連結
lay1 = (View) findViewById(R.id.lay1);
}
而我們在規畫主程式時,執行的核心通常都在onCreate()之中
下面以一個簡單例子來說明,讓我們的程式能與我之前說明的layout產生關聯
程式源碼:
//這裡為你專案設定的名稱
package com.example.helloworld;
//將需要的method載入
import android.os.Bundle;
.
.
略
//宣告方式有public(公開)、private(個別)、protected(受限制的)
但主要或共用method一定要public
//extends代表繼承,在這裡我們設定的內容是個活動(activity)所以要繼承Activity
這樣子我們才能始用預設好的Activity方法
public class MainActivity extends Activity
{
//開始宣告一些變數,這些變數與誰連結、屬於那一類別、要做什麼功能
都與這些變數有關
//宣告tv1,tv2為TextView類別的變數
TextView tv1, tv2;
//宣告bt1為Button類別的變數
Button bt1;
//宣告lay1為View類別的變數(這個可用於控制layout)
View lay1;
//註解Override為覆載,也就是說執行這個method時一定要看父類別中是否有onCreate
這個函數,如果沒有則無法使用
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 設定要顯示的內容視窗
setContentView(R.layout.activity_main);
// 指定tv1與介面的textview1連結
tv1 = (TextView) findViewById(R.id.textView1);
// 指定bt1與介面的button1連結
bt1 = (Button) findViewById(R.id.button1);
// 指定介面的layout與lay1連結
lay1 = (View) findViewById(R.id.lay1);
}
訂閱:
文章 (Atom)