2016年5月26日 星期四

MAC開發使用Android Studio無法打中文

step 1
close android studio

step2
切換輸入法到中文

step3
open android studio

2015年8月30日 星期日

[Mac] Android Studio 學習筆記-安裝SDK

如何在Android Studio(以下簡稱AS)下直接安裝SDK呢?其實很簡單,只要透過 SDK Manager就可以了。

首先開啟AS,在工具列的最後找到SDK Manager的圖示,並雙擊他





出現管理面板後,點選想下載的版本







接著就可以去喝咖杯、聊個天,回來後就裝好了喔!


[Mac] Android Studio 學習筆記-將專案改成支援2.3.3

寫程式的第一個範本,好像一定要來個Hello World,不免俗的,我也來個Hello Android吧

首先如果還沒安裝IDE跟設定環境變數可以參考前面二篇
安裝Android Studio  設定環境變數


預設的專案會依照最新的SDK版號,建立出專案,裡面會用到一些,最版不支援的theme,程式功能等,接著要說明如何把專案修改成支援2.3.3的版號


開啟Android Studio

選擇"Start a new Android Studio project"

輸入專案的名稱
Application name 專案的名稱
Company Domain 公司的名稱
Package name 自動帶入上面二個名稱
Project location 專案的存檔路徑





因為專案是要發佈在行動裝置,所以選擇第一個"Phone and Tablet"
為了讓大部分的裝置能支援,在"Minimum SDK"的版本選的是2.3.3,下面的說明也寫到,這樣可以支援99.7%的裝置



選擇blank Activity基本樣式



Activity Name 第一個畫面配合的.java名稱,通常用預設
LayoutName 第一個畫面的XML檔名 ( 只可以用小寫、底線、數字不可在開頭)
Title 畫面正上方的文字
Menu Resourec Name 右上的選單名稱,不過專案需支援2.3.3的前提下,這個功能將不會出現



這個小提示我覺得還不錯,對於初心者的我,有很多幫助,建議可以看一下





關閉提醒後,先到左上角的選單把android切換到project,並點選app > build.gradle






在右邊的code中,將最下方的二方程式註解掉,因為在2.3.3中用不到

dependencies {
//    compile fileTree(dir: 'libs', include: ['*.jar'])//    compile 'com.android.support:appcompat-v7:23.0.0'}




接著會出錯,如果有同步會自動跳出,但有時不會,可以從下方的message面板中找到錯誤,雙擊後會打開錯誤的code



若是沒有出現,可以透過Run > Run 'app' 或是工具列上的綠色三角形來執行





刪掉resources 裡面的程式





menu_main.xml 因為少了4.0之後的action bar 所以要把
xml中最後的app:showAsAction="never"刪除






最後一個會落在AndroidManifest.xml,不過這個會被message中的error錶到,要是從下方的錯誤雙擊的話,會開到debug裡的 AndroidMainfest.xml會發現改不了。
所以這個要選從左邊面板中下拉選單到Android > app > manifest > AndroidManifest.xml ,雙擊後改這個檔才對。
把 application tag中的 android:theme="@style/AppTheme" 刪掉就行了





再執行一次,看到畫面,代表修改成功了。



[Mac] Android Studio 學習筆記-設定JAVA環境變數與SDK路徑

一、打開終端機


二、輸入以下指令
touch .bash_profile
open -e .bash_profile
此時會打開.bash_profile的文字檔


三、於.bash_profile的文檔中輸入檔案路徑(如果.bash_profile的文檔已有內容要以 " : "冒號區分)



a. 設定JAVA環境變數
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH

b. 加入SDK路徑
export ANDROID_SDK= '/Users/lucas/Library/Android/sdk'

export PATH=${PATH}: [你的SDK檔案路徑]

路徑範例:export PATH=$PATH:/Users/lucas/Library/Android/sdk/platform-tools
有多個路徑時要以冒號隔開" :  "

輸入路徑後存檔

指令:

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_SDK=‘/Users/lucas/Library/Android/sdk’
export PATH=$PATH:/Users/lucas/Library/Android/sdk/platform-tools:/Users/lucas/Library/Android/sdk/tools:/Users/lucas/Library/Android/sdk/ndk-bundle







Step4.
輸入以下指令
source ~/.bash_profile

Step5.
輸入adb 按下Enter
如果有adb指令就完成了

adb指令
adb devices     : 查看設備
adb install        : 安裝
adb uninstall  : 反安裝
adb shell          :  將登錄設備的shell. 後面加將是直接運行設備命令, 相當於執行遠端命令
adb push         : <本地路徑> <遠端路徑> 從電腦上發送檔到設備
adb pull           :  <遠端路徑> <本地路徑> 從設備上下載檔案到電腦

查看版本,在終端機輸入 adb version



在Android Studio 開啟" Terminal " 輸入adb version 看一下版本是否一致



終於完成初步的設定,有點懷念iOS的Xcode,只要下載,安裝,開啟後就可以寫code了。




[Mac] Android Studio 學習筆記-安裝篇

List
首先到Google的官方網站上下載



一、首先到Google的官方網站上下載


https://developer.android.com/sdk/index.html


點擊畫面中 DOWNLOAD ANDROID STUDIO  下載



勾選 I have read and agree with for above terms and conditions










點擊安裝程式,開啟安裝



出現安裝畫面,將程式拖移到右邊的Applications資料夾就會自動完成安裝。
第一次開啟應用程式會出現警告說你的裝置找不到Java,照著上面的網址,到蘋果的官方提供的下載點進行下載,

注意此處的Java不是到Oracle的官網喔!!







點擊下載後,開啟安裝程式,一般來說就是同意條款跟狂點下一步,就安裝好了。


過程太多圖就不附了







再次開啟 android studio,會詢問你是否匯入先前的設定,因為沒有所以選不用,按OK

歡迎頁,選擇Next


選擇你的版本設定,預設的Standard即可

此頁比較重要,是關於android在你電腦的一些資訊,像是主要的SDK會下載的版本是,通常是最新的。
重要的一點是要把sdk的路徑記下來,等下的環境設定中會用到
預設:  /Users/(你的使用者名稱)/Library/Android/sdk  
ex:        /Users/lucas/Library/Android/sdk


接下來會開始下載SDK,會需要一點時間,去泡杯咖杯吧,上個廁所,回來後應該就好了。

完成後會出現預設的頁面!安裝完成了!!


接著安裝JDK
首先請至Oracle下載Java SE8 




點選「Accept License Agreement」並點選作業系統版本進行下載



點擊安裝程式,這邊也一樣就同意後,狂按下一步,不附圖說明了。


開啟Android Studio 修改 JDK的路徑,輸入快速鍵"command + ; ",開啟"Project Structure "面版,把 JDK 路徑改成最新的版本

原本:/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

最新:/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home



完成後設定你的環境變數,看這篇














Mac OS截圖應用



一、截圖功能快速鍵


  • Command + Shift + 4 自己選擇區域截圖
  • Command + Shift + 4 + 空格 點選特定視窗截圖
  • Command + Shift +3 全螢幕截圖
  • Command + Control + Shift + 3 全螢幕截圖暫存記憶體
  • Command + Control + Shift + 4 自己選擇區域截圖暫存記憶體


二、改變圖片存檔路徑

1. 新增資料夾

筆者習慣把圖片放在  /Users/lucas/Pictures/Screen Shot














2. 修改路徑

打開終端機,輸入以下指令

defaults write com.apple.screencapture location (完整路徑名稱)




















3. 套用效果


打開終端機輸入以下指令,或重新登出再登入,效果就會套用了

killall SystemUIServer



三、更改預設的截圖格式從png改成jpg

輸入以下指令
defaults write com.apple.screencapture type jpg
重覆步驟三的指令 killall SystemUIServer


2014年8月13日 星期三

IOS 偵測裝置旋轉


網路上找了很多方法,但要不是太舊在新的ios6.7已經不能用,就是沒反應。
記錄一下,還可以用的方法。

測試環境:ios7

//畫面旋轉之前,自動調整
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { }

目前為了要相容 iOS 5 和 6 的旋轉,在原本的旋轉方法下,還要加入以下方法。

viewController.mm
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
//僅支援直式
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

-(NSUInteger)supportedInterfaceOrientations
{
//僅支援直式
return UIInterfaceOrientationMaskPortrait;
}

-(BOOL)shouldAutorotate
{
return YES;
}


以為解決了,結果在 AppDelegate.m 下用

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
self.window.rootviewcontroller = navigationController;

這下可好,完成不理之前的設定(僅支援直式),變成任意旋轉了@_@|||
查了查才發現 self.viewController 是 UIViewController,而被加入 UINavigationController ,旋轉設定並無法影響,解決方法有兩種:
1. 改 UIViewController 為 UINavigationController 的子類別
2. 直接在 AppDelegate.m 覆寫 supportedInterfaceOrientations 方法,如下所示:

@implementation UINavigationController (iOS6OrientationFix)

-(NSUInteger) supportedInterfaceOrientations
{
//被加入的 viewController 為最上層,故只取 topViewController
return [self.topViewController supportedInterfaceOrientations];
}

@end

參考來源:
http://stackoverflow.com/questions/12410031/ios-6-rotations-supportedinterfaceorientations-doesnt-work
http://stackoverflow.com/questions/12504464/ios-6-uitabbarcontroller-supported-orientation-with-current-uinavigation-control


好了,打完收工!