ここ数年でいくつかの、他のAndroidアプリをエミュレートするAndroidアプリが登場しています(Parallel Space, GO Multipleなど)。その多くがLINEなどのメッセージングアプリやゲームなどを2アカウント同時使用できることを謳っており、多くのユーザーに使われていると思われます。 本セッションではこれらのアプリがどのようにして他のアプリをエミュレートしているのか調査した結果と、これらのアプリを使用することによる危険性の分析について発表を行います。 Read less
連続して3つの現場で同じバグが発生しているアプリを直すという経験をしたので、おそらくかなり多発している気がするこのような不幸が発生することが減るように書き残しておきます。 Fragmentのaddを何も考えずonCreateに書くとActivityのリストア時にリークする 例えば以下のようなごく単純なサンプルアプリ。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportFragmentManager() .beginTransaction()
[速報]「Kotlin」がAndroidの正式な開発言語に。開発元のJetBrainsとGoogleが「Kotlin財団」の設立も計画。Google I/O 2017 Googleが5月17日(日本時間5月18日未明)から開催中の年次イベント「Google I/O 2017」。初日の基調講演では、新サービス「Google Lens」の紹介や「Google Home」の日本発売、「Cloud TPU」や「TensorFlow Lite」の発表、新興国向けのエントリクラスとなる「Android Go」の発表などが相次いで行われました。 しかしその中でも会場からもっとも大きな歓声があがったであろうと思われるのが、プログラミング言語の「Kotlin」がAndroidの正式な開発言語になると発表されたときでした。 「Kotlinは完全にAndroidのランタイムと互換性があり、既存のコードとも相互運
DeclarativeLitho uses a declarative API to define UI components. You simply describe the layout for your UI based on a set of immutable inputs and the framework takes care of the rest. With code generation, Litho can perform optimisations for your UI under the hood, while keeping your code simple and easy to maintain. Asynchronous layoutLitho can measure and layout your UI ahead of time without bl
『Androidを支える技術 I』 ~ 60fpsを達成するモダンなGUIシステム ~ 『Androidを支える技術 II』 ~ 真のマルチタスクに挑んだモバイルOSの心臓部 ~ これらを著者の有野さん よりご恵贈いただきました。ありがとうございます。 始めて知る内容も多かったのですが、既に知っていることでも著者の意見が反映されているのを読むと、いくつものモバイルOSを見てきたハッカーからみるとこう見えるのか!という新鮮な面白さがありました。 IとIIのテーマは独立しているので、どちらから読んでもいいと思います。 以下個人的に面白かった章をピックアップします。 I の見どころ §1: ActivityThread.java にあるAndroidアプリのエントリポイント public static void main(String[] args) の役割 ActivityTheadはデバッグ
AndroidエミュレータとVirtualBox、Docker for Macを同時に実行できない問題の対処法AndroidVirtualBoxDockerHAXM Docker for Macなどを起動中にAndroidエミュレータが起動できない状況がずっと続いていました。こういったメッセージが表示されるやつです。 Unfortunately, VirtualBox 4.3.30+ does not allow multiple hypervisors to co-exist.In order for VirtualBox and the Android Emulator to co-exist, VirtualBox must change back to shared use.Please ask VirtualBox to consider this change here: ht
Reliance is nearing a deal to acquire Disney’s India business, according to a report, as Mukesh Ambani’s oil-to-telecom empire eyes broadening digital and television assets. Disney values Dating app users will often sit with friends as they swipe through their matches in order to gain feedback, or even hand over their phone and let their friends swipe for them. Now, that real-life expe
最近GoogleがSDカード向けにファイルシステムを作っている, というような話がありました. juggly.cn 記事中に ファイルシステムのネーミングからして、SD Card FS は SD / Micro SD カード専用のファイルシステムだと見られます。 とありますが, sdcardfsはそんな文字通りに「SDカードをターゲットにした」ものではありません. そもそも アドバンテージとして挙げられたのは一連のファイル操作のシステムコールをユーザー空間を行き来することなく実行できることで、一連の命令はカーネルとハードウェアの間でダイレクトにやり取りされ、これにより、コンテキストスイッチの影響を受けることがなくなり、ファイル操作のパフォーマンスが大幅に向上するそうです。 この部分がなんか変です. 普通「ユーザー空間を行き来」なんてしません. なにか間違って伝わっているような気がします.
本日、Androidアプリ「はてなブックマーク」バージョン2.11をリリースしました。 このリリースで、ブックマーク画面を刷新しました! 他にも、マイホットエントリーが正しく表示されていなかったり、アプリ内ブラウザで特定のリンクを開こうとするとクラッシュしたりなど、いくつかの不具合も修正しました。Google Playからアップデートして、ご利用くださいませ。 ▽ はてなブックマーク / ニュース・まとめを無料でブックマーク - Google Play の Android アプリ アップデート内容(バージョン 2.11.2) ブックマーク画面が新しくなりました! コメント・タグ付け・あとで読む・SNSへのシェアが、より簡単になりました ブックマーク画面でTwitterやFacebookのシェア設定がデフォルトでOFFになる不具合を修正しました(バージョン2.11.1) ブックマーク画面でク
Canvasにテキストを描画する際など、思い通りの位置に描画するためにはFontMetricsを使用して座標を計算します。 Androidの場合も基本的な考え方はjava.awt.FontMetricsと同じです。 FontMetricsの基本 中心線上に文字列を描画 吹き出しを描画 サンプルのソースコード FontMetricsSampleView.java FontMetricsの基本 ポイントとなるのは下記の4つの座標でいずれもベースラインからの位置を示しています。 ・FontMetrics.top ・FontMetrics.ascent ・FontMetrics.descent ・FontMetrics.bottom 図にすると下記のようなイメージになります。 ●がテキストを描画する際に指定した座標です。 // テキスト用ペイントの生成 Paint textPaint = new
アプリ自体のコーディング見積もりのみに注力してしまうと忘れがちで、たまにつらい目に遭うので、必要に応じて追加していく予定。 アプリ仕様 仕様はそもそも決まっているか 「仕様は決まっている。動かない」「移植なのでこれ以上はありません」と言ったな。 それは嘘だ。 既に仕様がガッチリ確定していることはありえない。要求仕様(必要機能リスト)がある程度固まっているならばまだ良い方で、「今から仕様を一緒に考えていきましょう」「アイディアレベルです」まで様々。 その他にも、GCM/FCM等のアプリ外サービスと連携する場合、遅延コスト等どの程度許容できるかも事前に確定させる。特にプッシュ系サービスでは、ありえないレベル(全端末遅延1秒以内必須、とか)を既定路線に含めないように留意する。 改修か、新規開発か これは見積もりの前提として大きな影響力をもつ。 テクノロジーや設計の自由度・柔軟性をある程度コントロ
※2016/07/16 追記: これもう大分古いのでこれからAndroidやるなら最初からRecyclerViewからやったらいいんじゃないでしょーか Lollipop周りについてあんまり興味が湧かないと思いつつも触らないわけにもいかないしな、という感じでボチボチRecyclerViewやCardViewを触っていたわけですが、RecyclerViewの違和感がすごかったので色々考えた結果「RecyclerViewはListViewの代替ではないよね」って事に気づきました。新しいListViewだと思ってたのがいけなかったんですね。とりあえず色々考えた結論について以下に列挙します。 結論 RecyclerViewはListViewの代替ではない RecyclerViewはListViewの様な「沢山の子Viewの部分セットをrecycleしながら表示するView」という機能を分解したクラス
Android Javaでは昔からAOSPのcoding style guidelineに則ったスタイルがとられることが多いようです。そのなかで、private fieldに "m" (member) や "s" (static member) などのプレフィクスをつけよ、というものがあります。 AOSP Java Code Style for Contributors | Android Open Source Project これはいわゆるハンガリアン記法の変種で、こういうやつですね。 class Recipe { private String mTitle; private List<String> mSteps; // ... } これについての態度はプロジェクトごとに様々ですが、たとえばクックパッド社のJavaのスタイルガイドでは明確に否定しています。 styleguide/
2023年12月 (1) 2023年11月 (116) 2023年10月 (79) 2023年9月 (28) 2023年8月 (7) 2023年7月 (6) 2023年6月 (101) 2023年5月 (229) 2023年4月 (201) 2023年3月 (206) 2023年2月 (147) 2023年1月 (193) 2022年12月 (146) 2022年11月 (54) 2022年10月 (1) 2022年9月 (1) 2022年8月 (1) 2022年7月 (3) 2022年6月 (1) 2021年9月 (1) 2021年8月 (8) 2021年6月 (3) 2021年4月 (4) 2021年3月 (6) 2021年2月 (1) 2021年1月 (3) 2020年12月 (2) 2020年11月 (2) 2020年10月 (5) 2020年9月 (12) 2020年8月 (40
去年Androidソースコードレビューで指摘する事が多い項目まとめという記事を書いた時はアプリ全体を一度に見るような機会が多かったため、内容も大きめのものばかり書いていましたが、最近はプルリクエスト単位でレビューする機会が増えたので細かい項目についてまとめてみようと思います。 ミリ秒で時間を指定する時に自前で計算している 1000L * 60L * 60L * 24Lのようなコード。 TimeUnitを使いましょう。 24時間の場合は以下のように書けます。 TimeUnit.DAYS.toMillis(1L) ある文字列がhttp/httpsで始まるかチェック URLUtil.isNetworkUrl()を使いましょう。 ただしequalsIgnoreCaseで判定してます。 ベースURLにパラメータを付与していってURLを生成したい StringBuilder#append("&key=
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く