ADT 22.6.0 となり Java7 で AndroidStudio をば。

こう書いてあるけど。

ADT 22.6.0 (March 2014)
・・・
Added support for Java 7 language features like multi-catch, try-with-resources, and the diamond operator. These features require version 19 or higher of the Build Tools. Try-with-resources requires minSdkVersion 19; the rest of the new language features require minSdkVersion 8 or higher.
・・・

ADT Plugin | Android Developers

以下のような状態だと。

o multi-catch
x try-with-resources
o diamond operator
o strings in switches

try-with-resource(リソース付きtry/勝手にclose) のみAPI19以降。

try (FileInputStream input = new FileInputStream("file.txt")) {
  int data = input.read();
  while(data != -1){
    System.out.print((char) data);
    data = input.read();
  }
}

なので、もうあげちゃいます Java6 から java7 へ。

続きを読む >>


AndroidStudio 0.5.1 リリース版ビルドで「Lint found fatal errors while assembling a release target.」

リリース版をビルドしていたら
こんなのでました。

Error:Gradle: Execution failed for task ':sample:lintVitalRelease'.
> Lint found fatal errors while assembling a release target.

gradle

。。。

lint に対してコードを修正していくのもアレなので以下を build.gradle に。

android {
  lintOptions {
    checkReleaseBuilds false
    abortOnError false
}

エラーメッセージの言う通りにすれば通るのだけれども、
なんだかな。

しかし、lint っていつもこんなかんじな扱いを受けてるよねー。


Google Interstitial(インタースティシャル)広告の今どきの実装方法はどこに

さあ、そんな広告を実装しようと思いました。

Interstitials_-_Google_Mobile_Ads_SDK_—_Google_Developers

とりあえず、ぐぐろうとします。

頭悪いので、そこでまず悩みます。

「Google」なのか「Admob」なのか

「インタースティシャル」なのか「インターステイシャル」なのか

「interstatial」なのか「interstitial」なのか

「GooglePlaySDK(gms)」同梱なのか、別SDKなのか。

とりあえず、こんなこまかいことは Google検索に考えてもらうとして

これら単語をやみくもに入力、検索して実装説明方法を探します。

それらしいのがみつかりました。

import com.google.android.gms.ads.doubleclick.*;

public class InterstitialExample extends Activity {

  private PublisherInterstitialAd interstitial;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Create the interstitial.
    interstitial = new PublisherInterstitialAd(this);
    interstitial.setAdUnitId(MY_AD_UNIT_ID);

    // Create ad request.
    PublisherAdRequest adRequest = new PublisherAdRequest.Builder().build();

    // Begin loading your interstitial.
    interstitial.loadAd(adRequest);

  }

  // Invoke displayInterstitial() when you are ready to display an interstitial.
  public void displayInterstitial() {
    if (interstitial.isLoaded()) {
      interstitial.show();
    }
  }
}

DoubleClick for Publishers (DFP) Interstitial Ads - Google Mobile Ads SDK — Google Developers

が、動きません。Admobの上位の「DFP」なるしくみのようです。

で次。

import com.google.ads.*;

public class BannerExample extends Activity {
  private InterstitialAd interstitial;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // インタースティシャルを作成する
    interstitial = new InterstitialAd(this, MY_INTERSTITIAL_UNIT_ID);

    // 広告リクエストを作成する
    AdRequest adRequest = new AdRequest();
    // インタースティシャルの読み込みを開始する
    interstitial.loadAd(adRequest);
  }
}

Google AdMob Ads Android(上級) - Google Mobile Ads SDK — Google Developers

これもダメです。

最新の「GooglePlay SDK(gms)」の実装ではなく、古いAdmobSDKの実装方法のようです。

で、次。

続きを読む >>