365,185 Templates Ready for Commercial Use / Android Templates Take a look at these Android templates to spark some design ideas for your next mobile creation.
を作りました。 takasek/MokuMokuNotes_iOS: Quest based learning tool for writing a basic iOS app https://github.com/takasek/MokuMokuNotes_iOS モチベーション 元々、 Androidエンジニアの@callipanが、私のAndroid入門のためにわざわざ コンパイルエラーやランタイムエラーを直していくだけでAndroidアプリの作り方がわかるプロジェクト を用意してくれたんですが、それがとても楽しかったのでiOS版を作りました。 (2018/5/12追記) インスパイヤ元であるAndroid版も、パワーアップして公開されました! panpanini/MokuMokuNotes_Android: Quest based learning tool for writing
よくある横スワイプで移動できるタブデザイン。 Androidは標準のUIライブラリに含まれていますが、iOSの場合は自作かライブラリを使うかのどちらかになります。 アニメアプリのアニマネ!ではいくつかのライブラリを比較した結果、RMPScrollingMenuBarControllerを採用しました。 当時の状況ではベストだと思っていたのですが、新しくとても良いライブラリを見つけました。 Xmartlabsというウルグアイの会社が作っています。 Githubのスターが2,231件(2016年3月現在)とかなりの人気ライブラリです。 アニマネで実装した時に見つけていればこちらを採用していたのに。。。 軽く触っただけですがこのライブラリは凄いと思ったので紹介してみます。 XLPagerTabStripの特徴 Swift製 活発に開発されている安心感(2016年3月現在) 豊富な表示方法 既存の
Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する Androidアプリの開発において悩ましいアーキテクチャの選定。本記事では選定する意味を改めて整理し、 MVP・Clean Architecture・MVVM・Fluxといった最新の実例を紹介します。 はじめまして。Androidエンジニアの藤原聖(ふじわら・さとる/@satorufujiwara)です。 現在は株式会社サイバーエージェントで、エンジニアリングマネージャーを兼任しています。2017年で35歳になり、定年を迎えました(プログラマの定年については「体型を支える技術」などを参照)。 Androidアプリ開発には2010年から携わっていますが、今現在の関心事は何といっても公式開発言語に採用されたKotlin。そしてもう一つが、Androidの
はじめに Google I/O 2017でKotlinがAndroidアプリ開発における公式言語としてサポートされることになりました。 また、同時にAndroid Architecture ComponentsがAndroidのライフサイクルにおける画面回転などへの対応を容易にするライブラリとして追加され、このライブラリを用いたAndroidアプリ開発におけるおすすめの設計が提案されています。 以下のGoogleのSampleリポジトリにはその設計指針を用いたサンプルが公開されています。 本記事では上記のリポジトリを参考にしながら、KotlinとArchitecture Components、そしてDagger2を用いた設計を備忘録的にまとめました。 また、現在進行系で開発しているので、何か間違っている点やご意見等あればぜひ、コメントやTwitterなどでお願いします。 Sample 記事
Javaの話はいろいろあると思いますが、Android開発を極めていくにはどうしたらいいかという話を吐き出してみようと思います。 開発入門向けのガイドはいいもの https://github.com/mixi-inc/AndroidTraining があるので、より実践的な内容をどうするか、という話にフォーカスします。 Androidなデザインと開発 Material Designのガイドライン Googleが考えた最強(?)のデザインガイドライン、それがマテリアルデザインです。 https://www.google.com/design/spec/material-design/introduction.html 使うべきUI部品、リスト表示のレイアウト、ダイアログを使うタイミングと表示内容、遷移アニメーションの使い方など多岐に渡ります。 この内容に沿って開発するとかなりモダンなAndr
Androidは、マルチスクリーンに対応しています。 これはどういう事かというと、解像度の異なる端末でも、同じように表示させる事ができる仕組みです。 ピクセル指定で画像を作成したり、プログラム上でレイアウトを制御すると、 高解像度の端末では、横幅が足りなかったり、ボタンが小さくて押せない、といった現象が起きます。 その為、解像度の異なる端末でも、一つのバイナリで対応させるには、それらを考慮した 実装が必要になります。 その解決法のいくつかをご紹介します。 1.layout.xmlにて、dip指定でサイズを指定 dipというのは、device-independent pixelの略で、直訳しますと 端末に依存しないピクセル となります。 これはどういう単位か、というと、160 dpiの1ピクセルの物理的な大きさを1dipと定義しています。 つまり、320dpiのスクリーン
SurfaceViewを使ってゲームを作った時に使った画面サイズに合わせて描画する方法をメモしておきます。 Androidでは様々な画面サイズの端末が存在するため、ゲームなどでの描画処理に一工夫が必要です。 まず、Canvas.scaleを使って画面サイズに合わせて全体を拡大縮小します。 これだけでは画面の左上に偏るので、画面の中心に描画されるようにcanvasを移動させます。 移動にはCanvas.translateを使います。 使用する関数 Canvas.scale(x方向の倍率, y方向の倍率) Canvas.translate(x方向の移動量, y方向の移動量); コード例 /** 最初にゲーム内の画面サイズを決めておく **/ final float VIEW_WIDTH = 600 final float VIEW_HEIGHT = 900; 決めた画面サイズをもとに倍率を計算
2013年04月23日17:49 カテゴリAndroid Android端末の横幅に合わせて画像を配置 こんにちは、android事業室の平井(@shinbashi)です。 唐突ですが 「android端末の、画面横幅に合わせて比率を崩さずに画像を配置したい」 なんてことがよくありますよね。よくありますよね。 僕は最近そんな事がありました。そこで困った問題にぶち当たったので、そのことを書きたいと思います。 androidでサイズの問題と言えば 「Density-independent Pixels」いわゆるdipでサイズを 決定すればイイッ!って話になりますよね。 でも今回は全然関係ないです。そもそもdipってpixelに依存しないって意味ですし。 今回はpixelに依存したいという話なので。 それではどうしたのか書きたいと思います。1番と2番は試してみたけど出来なかった、 もしくは試した
はじめに(この記事はもう内容が古いので注意してくださいね) Androidアプリの制作において、押さえておけばもしかしたら幸せになれるポイントがFragmentだと思います。 2年ぶりにAndroidネィティブに関わってAndroidStudioを使い初めて2ヶ月ですが、標準のジェネレーターでつくれる標準のデザインパターンからFragmentの使い方に慣れるためのチュートリアルを作ってみました。 以下、いいわけ 基本的に画面はFragment単位で設計するように癖をつけるとデザインの変更に強く、他のアプリを作るときにも使い回しがしやすい実装になりやすいです。 Android Studioが自動作成するデザインモデルのテンプレートもFragmentで構成されている場合が多いので、Fragmentに慣れているだけでかなり心理的に楽になれます。 Androidの入門書の入り口くらいは見たけどFr
OnClickListenerの実装方法について煩悶としています。 どのように書くのが美しいのでしょうか。 Activity,Fragmentに実装する方法 Button等を表示するActivityやFragmentに実装させる方法があります。 public class SampleFragment extends Fragment implements OnClickListener { // ... @Override public void onClick(View v) { // 押下時の処理 } } 一般的だと思います。 よく見るコードですが、個人的にはイマイチだと思っています。 イマイチな点1: publicなonClick 個人的にpublicなonClick()というメソッドが作られてしまうことが気になります。 下記のようなことができてしまいます。
はじめに 個人的な経験から、Fragmentを使うときに気にしたり気づいたことをまとめました。 Fragmentの初期設定値とか、生成時に値を渡す時はsetArguments Fragmentのコンストラクタはpublicで無修正なやつじゃないと怒られるので、コンストラクタをカスタマイズしてnewする時に値を渡すことが出来ない。 また、getInstance等を作って値を渡すことを考えるかもしれないが、Fragmentが破棄されて再生成されるときに動的フィールドは全て初期化される。このとき最初からライフサイクルが走り直すが、getInstanceを通らないので初期値を受け取れず、本来の動作を行えなくなる。 なのでFragmentセット時に値を渡して、それで状態を切り替えたりしたいときは setArguments() か onSaveInstanceState() を使おう。 使い方は以下の
gistfile1.md Butter Knifeの紹介 Android用のView Injectionライブラリである Butter Knife について解説します (といいますか、サイトに書いてあることをほとんどそのまま日本語にしただけです) 。 概要 Butter Knifeは ActionBarSherlock などでお馴染みの Square のJake WhartonさんによるAndroid用のView Injectionライブラリです。 使い方 このライブラリの目的が、 Activity, ViewのfindViewByIdを楽に書く ViewのonClickListenerなどを楽に書く というシンプルなものなので、簡単に理解できると思います。以下は見慣れたActivityのコードです。 public class MainActivity extends Activity {
はじめに 社内勉強会の資料をSlideShareのUPしました。 iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い これについての要点をまとめます。 この資料はiOS/Androidのような クライアントアプリケーションにおける「Model」とは何か、という話です。 Modelとは何か? Modelに「データやビジネスロジックを扱うコンポーネント」という役割を担わせるというのは多くの人がやっていることだと思います。しかし、サーバ側のWebアプリケーションとは異なり、クライアント側のiOS/AndroidアプリのModelには次の2つの振る舞いがとても重要です。 基本死なない(Singleton的である) 「通知」で変更を伝える(Callback的ではなく) そのようなModelがなぜ必要か? この2点の役割を持つコンポーネントがなく、特に何も考えずにスマホ
Web な人もアプリな人も、これから新しく Android アプリを作るなら抑えておきたいポイント3選Androidandroid開発 概要 Lollipop が発表されてから時間も立ち、Android Auto、Android Wear、Android TV と、多様性を見せ始めた Android ですが、今後とも多種多様なデバイス向けに様々なアプリを作っていく流れがあるなか、新しくアプリを作るなら抑えておきたい要所をまとめました。 TL;DR 抑えるところは 3 つ。 画面とライフサイクル 非同期処理 互換性 かなり端的にいうと、Activity や Service などのライフサイクルとうまく付き合いながら、コードの構成のレイヤー化を行い、非同期処理を簡潔に記述できる準備をしておくことと、非同期処理とあわせてマルチスレッドプログラミングの基本を抑えておくこと、互換性への準備を最初にし
With our two Cloud solutions, Genymotion SaaS and Genymotion Device Image, free yourself of the limits of physical hardware: Run your automated tests in parallels, integrate Genymotion with your favorite testing framework or CI server, and many more… Or, run a wide selection of Android devices on your PC or Mac with Genymotion Desktop. Available on Windows 10-11, macOS and Linux (Ubuntu, Debian, F
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く