2017年03月18日

[Android] gradle の com.android.support:appcompat-v7: に何を書いていいのかわからない

Android Studio を使っていると、gradle を使ってビルドするときに
dependencies の compile にある「com.android.support:appcompat-v7」
にどのバージョンを書けばよいのかわからなくなるときがあります。

↓例
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'  ← どのバージョンかわからなくなる
}

そんなときは、SDKマネージャーを見るとわかります。

SDK Manager > Appearance & Behavior > System Settings > Android SDK > SDK Tools
にある
Android Support Library, rev xx.x.x

スクリーンショット 2017-03-18 15.13.56.png

ここのバージョンを使います。

参考:
http://woshidan.hatenadiary.jp/entry/2015/09/28/233823

posted by be-style at 15:21| Comment(0) | Android

[Android] Android Studio を 1.5 から 2.3 にアップグレードしたら、ビルドエラーになる

Android Studio を 1.5 から 2.3 にアップグレードしたらビルドエラーが
出るようになりました。

その対策を備忘メモ。

OSは、MacOS Sierra 10.12.1。

Android Studio のダウンロード元:
https://developer.android.com/studio/index.html

ここから、最新版の .dmg ファイルをダウンロード。
ダブルクリックしてインストール。

アップデートはスムーズにできたのですが、作っていたプロジェクトでビルドエラーが
出るようになりました。

--------------------------------------------
Error:(1, 1) A problem occurred evaluating project ':app'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0
--------------------------------------------

Java JDK 1.7 → 1.8 に変更することで解消。

File->Other Settings->Default Project Structure->SDKs

↓画面の下の方に警告がでているので
スクリーンショット 2017-03-18 12.23.08.png

↓JDK1.8 に変更
スクリーンショット 2017-03-18 12.23.27.png

↓警告が消えました
スクリーンショット 2017-03-18 12.23.38.png

参考:
http://stackoverflow.com/questions/35937875/unsupported-major-minor-version-52-0-when-rendering-in-android-studio

posted by be-style at 15:08| Comment(0) | Android

2014年12月09日

[iOS] iOS8でUITableViewのセルどうしの境目で左側が切れるときの対処

iOS8でUITableViewを使っているときに、セルの境目の左側が15pxほど切れるのはデフォルトらしいということを知ったのですが、それでも画面左まで目一杯線を引きたいときの対処。

UITableViewの記載ルールについては割愛してます。

- (void)viewDidLoad {
...
// セパレーターの左端が切れないように
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
self.tableView.separatorInset = UIEdgeInsetsZero;
if ([self.tableView respondsToSelector:@selector(layoutMargins)]) {
self.tableView.layoutMargins = UIEdgeInsetsZero;
}
...
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
// セパレーターの左端が切れないように
if ([cell respondsToSelector:@selector(separatorInset)]) {
cell.separatorInset = UIEdgeInsetsZero;
}
if ([cell respondsToSelector:@selector(preservesSuperviewLayoutMargins)]) {
cell.preservesSuperviewLayoutMargins = false;
}
if ([cell respondsToSelector:@selector(layoutMargins)]) {
cell.layoutMargins = UIEdgeInsetsZero;
}
...
}

参考:
http://dev.classmethod.jp/smartphone/iphone/ios-8-uitableview-layoutmargins/

これで少しハマった。。。
posted by be-style at 09:08| Comment(0) | Android