若 extends ActionBarActivity 無法用
requsetWindowFeature ( Window.FEATURE_NO_TITLE );
若註冊頁面無法自動Search Activity
直接打PackageName
若 Create A' Project by copy A Project, but A' Project R.id is A Project
Please copy A' Project package and rename (Don't the same old name)
Final, change packageName in AndroidManifest.xml .(Don't the same old name)
Service can' t running LocalBroadcastManager
Link : That
2014年11月30日 星期日
2014年11月20日 星期四
Android-Eclipse 更新 Android 5.0 API 21 appcompat_v7 會出現錯誤
各位更新完5.0一定迫不及待的想測試新的功能吧
但就在這時發現創立專案完成後 appcompat_v7 竟然出現一堆錯誤
解決的方法如下 :
更新SDK( 5.0 & Extras )到最新
將project.properties 更改為 21
之後點選Clean
appcompat_v7的錯誤就解決囉
2015.02.16 更新
將V7 的最小版本改為 : <uses-sdk android:minSdkVersion="21"/>
再將出問題的專案改為使用Android 5.0 第21版
再重新Clean
大致上的問題都迎刃而解了
參考來源 : 位置
但就在這時發現創立專案完成後 appcompat_v7 竟然出現一堆錯誤
error: Error retrieving parent for item: No resource found that matches the given name 'android:XXX'
....等。解決的方法如下 :
更新SDK( 5.0 & Extras )到最新
將project.properties 更改為 21
之後點選Clean
appcompat_v7的錯誤就解決囉
2015.02.16 更新
將V7 的最小版本改為 : <uses-sdk android:minSdkVersion="21"/>
再將出問題的專案改為使用Android 5.0 第21版
再重新Clean
大致上的問題都迎刃而解了
參考來源 : 位置
2014年11月19日 星期三
Android-AndroidAnnotations 基本使用方式
簡化您的Android程式碼,專注於邏輯
第2 - 5點圖片是重複的
程式碼AndroidManifest.xml 部分要特別注意,目前使用Android 5.0
1 . 首先去GitHub下載Lib : AndroidAnnotations下載位置
2 . 將 androidannotations-api-3.1.jar 匯入您的專案底下
3 . 在您專案創立 compile-libs 並且將 androidannotations-3.1.jar放入底下
4 . 點選專案底下的 Preperties -> Java Compiler -> AnnotationProcessing
( 若沒有此選項可以參考此文章 )
-----此為無選項範例圖
-----此為無選項範例圖
5 . 將選項勾選起來
6 . 點選專案底下的 Preperties -> Java Compiler -> AnnotationProcessing -> Factory Path
7 . 點選確認後並且重新開啟Eclipse
8 . 程式碼測試 :
MainActivity.java
activity_main.xml
AndroidManifest.xml
A 發送
B 接收
第2 - 5點圖片是重複的
程式碼AndroidManifest.xml 部分要特別注意,目前使用Android 5.0
1 . 首先去GitHub下載Lib : AndroidAnnotations下載位置
2 . 將 androidannotations-api-3.1.jar 匯入您的專案底下
3 . 在您專案創立 compile-libs 並且將 androidannotations-3.1.jar放入底下
4 . 點選專案底下的 Preperties -> Java Compiler -> AnnotationProcessing
( 若沒有此選項可以參考此文章 )
-----此為無選項範例圖
-----此為無選項範例圖
5 . 將選項勾選起來
6 . 點選專案底下的 Preperties -> Java Compiler -> AnnotationProcessing -> Factory Path
7 . 點選確認後並且重新開啟Eclipse
8 . 程式碼測試 :
MainActivity.java
package com.example.androidannotations;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.Fullscreen;
import org.androidannotations.annotations.LongClick;
import android.support.v7.app.ActionBarActivity;
import android.widget.Toast;
@Fullscreen
@EActivity(R.layout.activity_main)
public class MainActivity extends ActionBarActivity {
/*
@ViewById(R.id.textView)
TextView textView;
*/
@Click(R.id.button1)
void myButtonClicked() {
Toast.makeText(this, "測試成功", Toast.LENGTH_SHORT).show();
}
@LongClick(R.id.textView)
void startExtraActivity() {
Toast.makeText(this, "您有長按", Toast.LENGTH_SHORT).show();
}
}
activity_main.xml
package com.example.androidannotations;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.Fullscreen;
import org.androidannotations.annotations.LongClick;
import android.support.v7.app.ActionBarActivity;
import android.widget.Toast;
@Fullscreen
@EActivity(R.layout.activity_main)
public class MainActivity extends ActionBarActivity {
/*
@ViewById(R.id.textView)
TextView textView;
*/
@Click(R.id.button1)
void myButtonClicked() {
Toast.makeText(this, "測試成功", Toast.LENGTH_SHORT).show();
}
@LongClick(R.id.textView)
void startExtraActivity() {
Toast.makeText(this, "您有長按", Toast.LENGTH_SHORT).show();
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androidannotations"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity_"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
@EActivity(R.layout.activity_main)
Layout
@ViewById
1 . OnCreate
@UiThread
@AfterViews
void onAfterViews() {
}
註冊頁面更改為底線
點擊
@Click(R.id.btnTest)
void testRest(){
}
下一頁
GiftDetailActivity_.intent(this).start();
A 發送
@Extra@InstanceStateString info;
B_.intent(this).info(mInfo).start();
B 接收
@Extra@InstanceStateString info;
接收端一定要先註冊參數,發送端才能傳送
參考網址 : 連結
Android-Android Eclipse 之 Java Compiler 沒有 Annotation Processin
各位是否有使用Androd Eclipse ?
恩,記得要去 Install Available Software 下載
work with : Juno - http://download.eclipse.org/releases/juno
2014年11月15日 星期六
Android-將物件 存放 / 讀取 Cache
各位跟我一樣是開發新手的大大們
想必多少都會遇到想暫存資料
是圖片那還有很多資訊可找
但如果是自訂的物件呢?
用 SharedPreferences 又有型別的限制
讓人超級頭痛的
這幾天不斷的用G大神搜索,終於在GitHub找到超好用的Class
但前提是,必須要將物件序列化 implements Serializable
* 服用方式
資料來源 : https://github.com/wesleiwpa/simple-object-cache-android
想必多少都會遇到想暫存資料
是圖片那還有很多資訊可找
但如果是自訂的物件呢?
用 SharedPreferences 又有型別的限制
讓人超級頭痛的
這幾天不斷的用G大神搜索,終於在GitHub找到超好用的Class
但前提是,必須要將物件序列化 implements Serializable
import android.content.Context;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
public class SimpleObjectCache {
public static void saveObject(Object object, String id,Context context) {
try {
ObjectOutput out = new ObjectOutputStream(new FileOutputStream(
new File(context.getCacheDir(), "") + "/"+id));
out.writeObject(object);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Object loadObject(String id,Context context)
throws FileNotFoundException {
Object object = null;
ObjectInputStream in = null;
try {
in = new ObjectInputStream(new FileInputStream(
new File(new File(context.getCacheDir(), "") + "/"+id)));
object = in.readObject();
in.close();
}catch (IOException | ClassNotFoundException e){
throw new FileNotFoundException();
}
return object;
}
public static Boolean removeObject(String id,Context context){
File file = new File(new File(context.getCacheDir(), "") + "/"+id);
return file.delete();
}
}
* 服用方式
final String ID_BANDS = "bandsObejct";
// List of bands
ArrayList<String> bands = new ArrayList<String>();
bands.add("Arctic Monkeys");
bands.add("Led Zeppelin");
bands.add("Yann Tiersen");
// Saving
SimpleObjectCache.saveObject(bands, ID_BANDS, getApplicationContext());
// Retrieving
try {
ArrayList<String> bandsTemp = (ArrayList<String>) SimpleObjectCache
.loadObject(ID_BANDS, getApplicationContext());
for (String string : bandsTemp) {
Log.d("BANDS", string);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// Deleting
Boolean wasRemoved = SimpleObjectCache.removeObject(ID_BANDS,
getApplicationContext());
資料來源 : https://github.com/wesleiwpa/simple-object-cache-android
2014年11月13日 星期四
Android- 如何啟動 Service 服務程式 ( 一 )
Android 應用程式四大組成員之一 : Service
Service跟Activity建立方法非常相似
但Service被啟動後,就算關閉Activity,Service不會因此而關閉
就像是我們在手機執行音樂撥放,我們還是可以執行其他的程式
首先,我們先創立Activity 並且用 Intent啟動 Service
Activity.class 底下
啟動Service
關閉Service
ServiceTest.class
創立Service
並且在AndroidManifest.xml 新增Service
基本上就可以看Log變化
基礎的Service就完成了
Service跟Activity建立方法非常相似
但Service被啟動後,就算關閉Activity,Service不會因此而關閉
就像是我們在手機執行音樂撥放,我們還是可以執行其他的程式
首先,我們先創立Activity 並且用 Intent啟動 Service
Activity.class 底下
啟動Service
Intent startIntent = new Intent(this, ServiceTest.class);
startService(startIntent);
關閉Service
Intent stopIntent = new Intent(this, ServiceText.class);
stopService(stopIntent);
ServiceTest.class
創立Service
public class ServiceTest extends Service {
@Override
public void onCreate() {
super.onCreate();
Log.d("tag", "ServiceTest onCreate()");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("tag", "ServiceTest onStartCommand()");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d("tag", "ServiceTest onDestroy()");
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
並且在AndroidManifest.xml 新增Service
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="ServiceTest"></service>
</application>
基本上就可以看Log變化
基礎的Service就完成了
2014年11月10日 星期一
Arduino-Upload 後 avrdude: stk500_getsync(): not in sync: resp=0x00
最近在玩Arduino UNO
卻發生avrdude: stk500_getsync(): not in sync: resp=0x00
結果只是藍芽裝置必須先拔除,不然無法同步更新
說真的只因為好懶呀~!
卻發生avrdude: stk500_getsync(): not in sync: resp=0x00
結果只是藍芽裝置必須先拔除,不然無法同步更新
說真的只因為好懶呀~!
Arduino-藍芽發送資料( 測試藍芽功能是否正常 )
#define BUFFERSIZE 127
int numLoop = 0; // number of times we looped
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(numLoop);
char str[20];
sprintf(str,"\nanalogRead,%d@",50);
Serial.write(str);
delay(5000);
numLoop++;
}
int numLoop = 0; // number of times we looped
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(numLoop);
char str[20];
sprintf(str,"\nanalogRead,%d@",50);
Serial.write(str);
delay(5000);
numLoop++;
}
訂閱:
文章 (Atom)