Android関連のことを調べてみた2019年10月30日

NO IMAGE

[ Android ] java.net.SocketException: Socket failed: EPERM(Operation not permitted)解決法

前回の記事で紹介したエラー、
java.net.SocketException: Socket failed: EPERM(Operation not permitted)
の解決方法について記す。

##解決方法
エミュレータ内のアプリを**一度アンインストール**し、
**再度インストール**することで解決できた。

エミュレータで

「**設定**」→「**アプリと通知**」→
 **アンインストールするアプリを選択**→「**アンインストール**」

とするとアプリをアンインストールできる。

前回の記事で参考にしたURLでも
この解決方法は示されていたが、
気づかなかった。
参考URL:
https://stackoverflow.com/questions/56266801/java-net-socketexception-socket-failed-eperm-operation-not-permitted

上記の方法で解決できなければ、
前回の記事でも示したように、
AndroidManifest.xmlに
以下を追加してみてほしい。

~~~

元記事を表示

Google Pixel 4 のプリインストールアプリ一覧

日本の Google Store から購入した Pixel 4 です. 初期セットアップ中に (自動的に/サジェスチョンに従って) ダウンロードしたものも含まれています. ふと思い立って適当に作成したリストなので間違いが混ざっているかもしれません.

# アプリランチャーに表示されるもの

– おサイフケータイ
– Google カメラ https://play.google.com/store/apps/details?id=com.google.android.GoogleCamera
– Google カレンダー https://play.google.com/store/apps/details?id=com.google.android.calendar
– Google ドライブ https://play.google.com/store/apps/details?id=com.google.android.apps.docs
– ファイル ([Files by Google](https://play.google.com/store/apps/details?id=co

元記事を表示

FlipperでNetworkプラグインを使う際のリリースビルド

## はじめに
Flipperを導入した際に、Networkプラグイン(OkHttpプラグイン)を入れた際にリリースビルドで失敗したので、その時の対応を書いていきます。

## Flipperとは
Facebook製のデバッグツールで、iOS、Android両方に対応しています。
この記事はAndroidで使う際の話です。
[公式](https://fbflipper.com/)

## fliper-noop
flipper-noopはFlipper Interfaceの空実装が用意されているパッケージです。
no-op(no-operation)を利用することで、コンパイルを通しながらリリースビルドからFlipper本体のコードを除去することができます。
[公式のドキュメントの例では](https://fbflipper.com/docs/getting-started.html)に沿ってセットアップします。
ドキュメントでは次のように、releaseImplementationでリリースビルド時にはno-opを使うようにしています。

“`
dependencies {

元記事を表示

[Kotlin]AndroidでiOSのUiPageViewControllerのdots(ドット)有を実装

# TODO
– チュートリアル等で使われる横スクロールして1ページずつ閲覧する画面をAndroidで実現する

例はiOSのホームです
File.jpg

# 実装
ViewPagerとTabLayoutで実現します。
ドット部分がTabLayoutです

このselectorがキモです
選択状態白く、非選択状態ではunselectedIndicatorで灰色にするとiOSに近いです

“`indicator_selector.xml


元記事を表示

FRIDAがAndroidコミュニティトークンの検証をクラック

(ヒント:日本語はすべてGoogle翻訳からのものです)
## まえがき(前言)
> 这个社区是酷安,以前想过要爬(spider)这软件,但是都忘了,几天前抓了下它的包,发现请求 **headers** 里有一个 **token** 验证,果断就给破了

> このコミュニティはCoolapkで、以前このソフトウェアを入手することを考えていましたが、それを忘れていました。数日前にそのパッケージを入手し、リクエスト** headers **に**トークン**の検証があることがわかりました。 そうです。

## 分析プロセス(分析过程)

最初にバッグをキャプチャします(先抓个包)

![zhuabao.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/317662/34cbd1bc-a01a-4c38-84d3-91b0c92e9aa1.jpeg)

確認に使用されるリクエストヘッダー **X-App-Token** があることがわかります。**X-App-Device** に関しては、携帯

元記事を表示

Keynote (Android Dev Summit ’19)

自分用にyoutubeの内容をそのままグーグル翻訳にかけてみました

みなさんこんにちは。2019年のAndroidデベロッパーサミットへようこそ。Android開発で最もホットなトピックについて多くのデベロッパーがここにいるのは素晴らしいことです。
したがって、今日の多くのGoogleエンジニアに加えて、65か国から700人以上の開発者が直接参加し、何千人ものユーザーがライブストリームに参加しています。
今、コンピューティングは私の生涯でかなり驚くべき進化を遂げました。最初のコンピューターを思い出すことができます。
そして、アイデアを思いついて、それを実現できる可能性の不思議さを今でも思い出すことができます。
私が8歳であることの主な目的は、姉のスヌーピングから寝室を守るための防御システムを構築することでした。私はペグガンを発射し、侵入者を撃つセットモーターリレーのようなものだと思っていました
とにかく、BBC micro Acornを構築した会社は、Archimedesと呼ばれる最初の商用RISC PCの1つを設計し、1990年代初頭に、当時ほとんど知られていないARMと呼ばれるス

元記事を表示

strings.xmlの内容をcsvに書き出すためのワンライナー

あまり出番はないと思いますがメモ代わりに残しておきます。

“`shell

cat path/to/strings.xml | sed ‘s/^\ *\(.*\)<\/string>/\1,”\2″/g’ | sed ‘1d’ | sed ‘$d’ > result.csv
“`

元記事を表示

【Android】assetsフォルダから画像を読み込みImageViewで表示する

#事前準備
事前準備として,プロジェクトを立ち上げた時にassetsフォルダはできていないことが多いと思いますので,
スクリーンショット 2019-10-29 13.59.51.png
このようにmain以下にassetsフォルダを作成し,
スクリーンショット 2019-10-29 14.00.00.png
好きな画像をぶっこんでください.
そしたら準備完了です.

#さっそく本題
タイトルの通りのことを実装する場合には次のコードでいけます

元記事を表示

【Kotlin/Android】カスタムビューを作成する

## 書いてあること
– Kotlinでグリッドビューの中に入れる、カスタムビューを書いてみました。

## 用意するもの
1. Fragment.java
2. Adapter.java
3. CustomView.java
4. fragment_main.xml
5. item_fragment.xml

## 1. Fragment.java

“`Fragment.java

/**
* 温度調整Fragment画面クラス
*/
class AdjustTempFragment : Fragment() {
/**
* グリッドビュー
*/
private lateinit var gridView: GridView
/**
* なにかしらの情報保持配列
*/
private lateinit var values: Array
/**
* グリッドアダプター
*/
private lateinit var gridAdapter:

元記事を表示

ComposeのSwitch/Checkboxの状態管理

ちょっと面白かったのでメモしておきます。
以下の様の置いてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27388/2bfb037c-2741-76c5-e8d2-8848c7bc024f.png)

“`kotlin
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
App()
}
}
}
}

@Composable
fun App() {
Switch(
checked = false,
onCheckedChange =

元記事を表示

Flutterウィークリー #81

# Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/

この記事は#81の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-81

※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。

# 読み物&チュートリアル

### 複数の画面とそれらの操作方法
https://blog.codemagic.io/flutter-tutorial-multiple-screens-and-how-to-navigate-them/


Flutterアプリの画面内をナビゲートする方法に関するScott Stollのチュートリアル。

### Googleマップを使用したFlutterクラスター

元記事を表示

RecyclerView内のTextViewをSelectableにする方法

AndroidでRecyclerView内のTextViewをSelectableにする方法です。
今更な感じもあると思いますが、あまり情報がなかったので。

僕の場合は複数のFragmentでRecycledViewPoolを共有しているため、Fragmentを切り替えて戻ってきた時に、再度選択ができない状態になっていました。
また、RecyclerViewのAdapterに設定する方法もありますが、Groupieを使っているためCustomViewを作る形をとりました。

“`SelectableTextView.kt
class SelectableTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null)
: AppCompatTextView(context, attrs) {

init {
// Selectableにする
setTextIsSelectable(true)
}

override fu

元記事を表示

AndroidでiOSのDispatchGroupと同じことをしたい。

複数の非同期処理を同時に流して、全部が完了したタイミングで次の処理を開始したいとき、iOSではDispatchGroupを使って手軽にできるが、同じことをAndroidで実現する方法を調べてこれを見つけた↓
元ネタ: [Android how to group async tasks together like in iOS](https://stackoverflow.com/questions/34871580/android-how-to-group-async-tasks-together-like-in-ios)

それを微妙に改変した↓

“`
class DispatchGroup {
private var count = 0
private var runnable: (() -> Unit)? = null

init {
count = 0
}

@Synchronized
fun enter() {
count++
}

@Synchronized
f

元記事を表示

FlutterでHello worldを動かすまでの環境構築手順(iOS, Android)

# FlutterでHello worldを動かす
仕事でFlutterを扱うことになったので、とりあえずHello world動かすところまでの流れをメモ。

「Flutterとは何ぞや?」って人は公式サイトを見てくれ。
[Flutter – Beautiful native apps in record time ](https://flutter.dev/)

## 環境
Flutter SDKは、Windows、macOS、Linux向けに提供されていますが、本記事ではmacOS上での環境構築手順をまとめます。

| OS | バージョン |
|:-:|:-:|
| macOS | Mojave バージョン10.14.6 |

Flutter SDKは「v1.9.1+hotfix.4」を使いました。
※バージョンアップ等で本記事の情報が古くなっている場合は、公式ドキュメントを参照してください

## Flutter SDKのインストール
まずはFlutter SDKをインストールします。
[macOS install – Flutter](https://flutter.de

元記事を表示

画像名を文字列で指定してImageViewに貼り付けるコード(android)

swiftだと画像名で画像を指定して貼り付けられるのですが、そういえばandroidではなかったなと(あるんですかね)

見つからなかった、というか大して探してないのですが何となく作りました。

手順は
①画像名からリソースIDを取得
②リソースIDを使って画像をセット
これだけです。

“`java:Util.java

public void setBackgroundResourceByString(Context context, String imgName, View view){
int resourceId = context.getResources().getIdentifier(imgName, “drawable”, context.getPackageName());
view.setBackgroundResource(resourceId);
}
“`

第一引数にgetContext()などで得たcontextを代入、
第二引数はdrawableに入れられた画像名をストリング型で代入、
第三引数はその画像を貼り付けたimageVi

元記事を表示

[ TomCat ] [ Android ] サーバクライアント通信4 ランダムな整数を返す

今回はサーバ(TomCat)からランダムな整数を取得する方法について記す。
TomCatのインストールとサンプル表示は
[インストール]
・https://eng-entrance.com/java-servlet-tomcat-install
[サンプル表示]
・https://searchman.info/java_eclipse/1040.html
を参考にして頂きたい。

**上記のサンプル表示ができている前提で話を進める。**

##Random
サーバ側のプログラムはjavaで書かれている。
javaでは乱数を扱うためにRandomクラスを用いる。
まずRandomクラスをインポートする。

~~~
import java.util.Random;
~~~

乱数を扱うためには以下のように書く。

~~~
Random random = new Random();
int randomNumber = random.nextInt(9);
~~~

このようにしてrandomNumberは0以上9未満の乱数を受け取ることができる。

さらに以下のよう

元記事を表示

AndroidViewの表示・非表示を切り替えるView.INVISIBLEとView.GONEの違い

#Viewの表示・非表示を切り替える方法
Viewの表示・非表示を切り替えるには、view#setVisibility(int visibility)メソッドを使用します。
visibility引数には可視状態を表す定数を指定します。

“`
TextView exampleView = (TextView) findViewById(R.id.example_view);
exampleView.setVisibility(View.INVISIBLE);
“`
上記のように書くことができます。

#INVISIBLEとGONEの違い
– View.INVISIBLE
非表示にする。非表示にした領域は詰めない。viewが見えないだけで、領域は占める。
– View.GONE
非表示にする。
非表示にした領域を詰める。
viewがそもそもなかったように振舞う。

※初期値はView.VISIBLE(表示する)に設定されている。

元記事を表示

NativeScriptを用いたVue.jsモバイルアプリ開発の環境構築

# 概要
NativeScriptを用いてVue.jsモバイルアプリを作る際の環境構築の手順をまとめました.

– NativeScript・・・本物のモバイルネイティブアプリをJavaScriptで開発するためのオープンソースフレームワーク
– NativeScript-Vue・・・Vue.jsを使ってモバイルアプリを作成するためのNativeScriptのプラグイン

# 環境
– Mac OS X 10.14.6
– Node.js v12.12.0
– NativeScript 6.1.2
– NativeScript-Vue 2.4.0

# 手順
## NativeScriptのシステム要件のセットアップする
下記ページに従い,macOSでNativeScriptアプリをビルドして実行するために必要なすべてのシステム要件をセットアップします.
最後の手順で`tns doctor`コマンドを実行して問題が検出されなければ次のページに進む前に本記事に戻り,次の手順に進んでください.

[NativeScript Advanced Setup — macOS – Native
S

元記事を表示

よく使うadbコマンドメモ

#はじめに
タイトル通り、私がよく使うadbコマンドをメモしておきます。

#使用ツール

– コマンドプロンプトまたはAndroid Studio
– お好きなAndroid端末
– Android端末とPCをつなぐケーブル

#よく使うadbコマンド
PCとAndroid端末をケーブルでつないで、
コマンドプロンプトまたはAndroid Studioで実行してみましょう。
Android Studioは下方でBuildとかLogcatが表示されるところにTerminalタブがあり、
そこで実行できます。
##adbから画面の設定を出す

“`
adb shell am start -a android.settings.DISPLAY_SETTINGS
“`

##アプリのパスを探す

“`
adb shell pm list packages -f | findstr アプリに含まれる文字列
“`

##アプリのアンインストール

“`
adb uninstall アプリのパス
“`

##PCとAndroid端末間のファイルのやり取り
###Android→PCへフ

元記事を表示

最小構成のreact-nativeをとりあえず動かす 

まずはreact-nativeを最小構成で動かすまでをメモ

“`
$ npm i -g react-native-cli
$ react-native init hello # helloはプロジェクト名
. . .
Done in 33.80s.

Run instructions for iOS:
• cd /home/oreore/dev/test/hello && react-native run-ios
– or –
• Open hello/ios/hello.xcodeproj in Xcode or run “xed -b ios”
• Hit the Run button

Run instructions for Android:
• Have an Android emulator running (quickest way to get started), or a device connected.
• cd /home/oreore/dev/test/hello && react-native r

元記事を表示

OTHERカテゴリの最新記事