Android Studio 修改 package name(含Domain)

  1. 找到檔案 app/build.gradle
    修改applicationId
  2. 找到檔案:app/src/main/AndroidManifest.xml
    修改package
  3. 找到資料夾:app/src/main/java
    先新增一個你希望的Domain + name package
    將所有的class全部搬進新的Package
    舊的Package會自殺
  4. 重建專案(Make Project),沒報錯就完成了

如果有用git作專案維護,不建議修改最外層的資料夾名稱,會動到很多設定

廣告

ADB無線debug,USB連線提示騷擾 go away!!!

  1. 確認電腦與手機連到同一台wifi分享器上
  2. 將手機與電腦先用USB連接起來
  3. 打開終端機(微軟就是Dos模式,Mac就叫做終端機),
    找到Android SDKadb的路徑(如果已製作adb環境變數則不用)
    Ex:cd …\android-sdk\platform-tools
  4. 輸入:adb tcpip 5555
    讓debug的port轉到5555,成功時會出現 restarting in TCP mode port: 5555
  5. 連線到手機:adb connect [手機IP](不含中括號),成功時會出現

    connected to 192.168.0.114:5555
    如果失敗的話,可以試試:adb connect [手機IP]:5555

接著就可以很開勳地用用wifidebug嘍~~~

But!!!

如果你的電腦是用要拿來debug的手機wifi基地台網路,就有可能無法取得手機IP,進而無法使用~~

如何在GoogleMap上偵聽所有的觸發事件

Android給的GoogleMap類別中,只能在地圖上偵聽點擊(Click)與長按(LongClick)事件,但很多時候,我們會需要偵聽其他的事件,比如拖曳或手勢,這時候就無法就官方給的架構去時做出來了 所以我們就要客製化幾個類別,讓我們能夠偵聽到所有的觸發事件

1.客製化MapFragment的Layout容器,通常會是FrameLayout,在此建立偵聽功能

	public class HandleTouchEvent_FrameLayout extends FrameLayout {

		public HandleTouchEvent_FrameLayout(Context context) {
			super(context);
		}

		@Override
		public boolean dispatchTouchEvent(MotionEvent ev) {
			//任何碰到螢幕而你想偵聽的觸發事件都可以在此實作
			return super.dispatchTouchEvent(ev);
		}

2.客製化MapFragment,在此抽換掉原本Fragment裡面不具有偵聽任何Touch事件的Layout

public class HandleTouchEvent_MapFragment extends SupportMapFragment {
	
	private View mOriginalView;
	private HandleTouchEvent_FrameLayout mTouchRventHandler;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		
		mOriginalView = super.onCreateView(inflater, container, savedInstanceState);
		mTouchRventHandler = new HandleTouchEvent_FrameLayout(getActivity());
		mTouchRventHandler.addView(mOriginalView);
		
		
		return mTouchRventHandler;
	}

	@Override
	public View getView() {
		// TODO 自動產生的方法 Stub
		return mOriginalView;
	}
	}

3.記得相對應的xml檔也要換掉類別名稱

        <fragment
            android:id="@+id/google_map"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            class="com.zoaks.tourpins.fragments.HandleTouchEvent_MapFragment" />

4.最後修正Activity上對Fragment的調用


GoogleMap mGoogleMap = ((HandleTouchEvent_MapFragment)
getSupportFragmentManager().findFragmentById(R.id.google_map)).getMap();

這樣就肥尼遜了…XDD

[Android] 如何取得Asset資料夾的資源


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		ImageView myImage = (ImageView) findViewById(R.id.iv);
		AssetManager assetManager = getAssets();
		Bitmap MyStream = null;

		try {
			MyStream = BitmapFactory.decodeStream(assetManager.open("Asset以下的資料路徑,還要帶副檔名"));
			myImage.setImageBitmap(MyStream);

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();

		}

	}