タグ付けされた質問 「android」

AndroidはGoogleのモバイルオペレーティングシステムであり、デジタルデバイス(スマートフォン、タブレット、自動車、TV、Wear、Glass、IoT)のプログラミングまたは開発に使用されます。Androidに関連するトピックについては、android-intent、android-activity、android-adapterなどのAndroid固有のタグを使用します。開発やプログラミング以外の質問で、Androidフレームワークに関連する質問については、次のリンクを使用してください:https:// android.stackexchange.com。


25
アプリケーション全体にカスタムフォントを設定することは可能ですか?
アプリケーション全体で特定のフォントを使用する必要があります。同じための.ttfファイルがあります。アプリケーションの起動時にこれをデフォルトのフォントとして設定して、アプリケーションの他の場所で使用することはできますか?設定した場合、レイアウトXMLでどのように使用しますか?

3
警告:このAsyncTaskクラスは静的でなければなりません。そうでないと、リークが発生する可能性があります
コードに次のような警告が表示されます。 このAsyncTaskクラスは静的でなければなりません。そうでないとリークが発生する可能性があります(匿名のandroid.os.AsyncTask) 完全な警告は次のとおりです。 このAsyncTaskクラスは静的である必要があります。そうしないとリークが発生する可能性があります(匿名のandroid.os.AsyncTask)。静的フィールドはコンテキストをリークします。非静的内部クラスには、外部クラスへの暗黙的な参照があります。その外部クラスが例えばフラグメントまたはアクティビティである場合、この参照は、実行時間の長いハンドラー/ローダー/タスクが、ガベージコレクションが実行されないようにするアクティビティへの参照を保持することを意味します。同様に、これらの長時間実行インスタンスからのアクティビティとフラグメントへの直接フ​​ィールド参照は、リークを引き起こす可能性があります。ViewModelクラスは、ビューまたは非アプリケーションコンテキストを決して指すべきではありません。 これは私のコードです: new AsyncTask<Void,Void,Void>(){ @Override protected Void doInBackground(Void... params) { runOnUiThread(new Runnable() { @Override public void run() { mAdapter.notifyDataSetChanged(); } }); return null; } }.execute(); どうすれば修正できますか?

18
このバージョンのアプリケーションは、Google Playを介した請求用に設定されていません
OverаэтотвопросестьответынаStack Overflowнарусском:Этаверсияприложениянеработаетсплатёжнойсистем アプリ内課金でアプリケーションを実行しようとすると、「このバージョンのアプリケーションは、Google Playからの課金用に設定されていません。詳細については、ヘルプセンターを確認してください」というエラーが表示されます。 既にマニフェストファイルに請求権限があり、署名済みの.apkをドラフトとしてGoogle Playにアップロードし、同じ署名済みapkを携帯電話にインストールしました。 この問題を解決する方法について何か助けはありますか?

25
Android:タイトルなしでダイアログを作成する方法は?
Androidでカスタムダイアログを生成しようとしています。私はこのようにダイアログを作成します: dialog = new Dialog(this); dialog.setContentView(R.layout.my_dialog); ダイアログのタイトル以外はすべて正常に動作します。ダイアログのタイトルを設定しなくても、ダイアログポップアップのダイアログの位置に空白が表示されます。 ダイアログのこの部分を非表示にする方法はありますか? AlertDialogで試しましたが、レイアウトが正しく設定されていないようです。 LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.map_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(view); // dialog = new Dialog(this); // dialog.setContentView(R.layout.map_dialog); dialog = builder.create(); ((TextView) dialog.findViewById(R.id.nr)).setText(number); このコードを使用すると、最後の行にnullポインター例外が表示されます。ダイアログはnullではないため、取得しようとしたTextViewは存在しません。 ダイアログコンストラクターを使用している部分のコメントを外すと、ダイアログレイアウトの上のタイトルを除いてすべて正常に動作します。

21
Android:アクションバーのカスタムレイアウトから左マージンを削除する
私はカスタムアクションバービューを使用しており、下のスクリーンショットに示すように、アクションバーに空白の灰色のスペースがあります。削除したい。 私が何をした: res / values-v11 / styles.xml <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:actionBarStyle">@style/ActionBarStyle</item> <item name="actionBarStyle">@style/ActionBarStyle</item> </style> res / values / my_custom_actionbar.xml <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid"> <item name="android:height">60dp</item> </style> </resources> マニフェスト <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /> <application android:icon="@drawable/ic_launcher" android:label="@string/AppName" android:theme="@style/AppBaseTheme" > <!-- activities... etc --> </application> 主な活動 public void onCreate(Bundle bundle) { …

8
アクティビティのタイトルではなくランチャーに別のラベルを設定するにはどうすればよいですか?
この質問は以前に尋ねられましたが、満足のいく答えはまったくありません!だから、もう一度やってみます。 アプリケーションランチャーアイコン(スタート画面に表示されるアイコン)に別の短いキャプションを付けたいです。ランチャーは、次のように、メインアクティビティのラベルに関するmainfestセクションからラベルを取得しているようです。 <activity android:name="MainActivity" android:label="@string/app_short_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> ここでは、アプリ名@ string / app_nameへの元の参照を別の短い文字列リソースに変更しました。 BUT-big BUT:もちろん、これもこのアクティビティのデフォルトのタイトルを変更します!そして、私はそれが起こりたくなかった、長いアプリケーション名のための十分なスペースがある!メソッドonCreateを使用して長いタイトルを再度設定してsetTitle(int)も、ユーザーには短い名前が短時間表示されますが、気づくのに十分な長さがあるため、効果がありません。 そして、カスタムのタイトルバーを参照して私の質問に答えないでください...愚かな文字列のタイトルのために、私はそれほど長くは進みたくありません!あまり効果がないカスタムタイトルバーを描画するのは面倒です。 ランチャーに別の文字列を表示するだけの簡単な方法はありませんか?ご回答ありがとうございます! 編集:カスタムタイトルバーを使用するのが面倒なもう1つの理由は、デフォルトのタイトルバーのように見えないためです。各デバイスで同じように表示するには、明示的に行う必要があります。そして、結局のところ、私が別の外観を望んでいない場合、それは解決策にはなりません!

18
ViewPager内のフラグメントを置き換える
を使用してフラグメントを使用しようとしViewPagerていFragmentPagerAdapterます。私が達成しようとしているのは、の最初のページに配置されたフラグメントViewPagerを別のフラグメントに置き換えることです。 ページャーは2つのページで構成されています。1つ目は、FirstPagerFragment2つ目はSecondPagerFragmentです。最初のページのボタンをクリックする。をFirstPagerFragmentNextFragmentに置き換えます。 以下に私のコードがあります。 public class FragmentPagerActivity extends FragmentActivity { static final int NUM_ITEMS = 2; MyAdapter mAdapter; ViewPager mPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_pager); mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); } /** * Pager Adapter */ public static class MyAdapter extends FragmentPagerAdapter { public …

7
RecyclerViewで可視アイテムを取得する
RecyclerViewに現在表示されている要素を知る必要があります。OnScrollListener.onScroll(...)ListViews のメソッドに相当するものはありません。私はで作業しようとしましたがView.getGlobalVisibleRect(...)、そのハックはあまりに醜く、いつもうまくいくとは限りません。 誰かアイデアは?

30
スクロールビュー内のAndroidリストビュー
私はそれにscrollViewいくつかの要素を持つandroidレイアウトを持っています。以下の下部にscrollViewIしているlistView、アダプタによって移入されています。 私が経験している問題は、すでにスクロール可能な機能があるため、AndroidがlistViewから除外さscrollViewれてscrollViewいることです。私が欲しいlistView長いコンテンツがあるとしてスクロールできるようにするためのマスタースクロールビューのためのように。 この動作を実現するにはどうすればよいですか? これが私のメインのレイアウトです: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:fillViewport="true" android:gravity="top" > <LinearLayout android:id="@+id/foodItemActvity_linearLayout_fragments" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> </ScrollView> 次に、プログラムでコンポーネントをid:を使用してlinearlayourに追加しますfoodItemActvity_linearLayout_fragments。以下は、そのlinearlayoutに読み込まれたビューの1つです。これは私に巻物のトラブルを引き起こしているものです。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/fragment_dds_review_textView_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reviews:" android:textAppearance="?android:attr/textAppearanceMedium" /> <ListView android:id="@+id/fragment_dds_review_listView" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView> </LinearLayout> 次に、アダプターがこのリストビューを埋めます。 これは、マスターscrollViewをクリックしたときのandroid階層ビューアーの画像です。 ご覧のとおり、レビューのlistViewは除外されています。 ページを下にスクロールして8件のレビューを表示できるはずですが、代わりにそれらの3つしか表示されず、レビューがある小さな部分をスクロールできます。グローバルページスクロールが欲しい

12
Androidで使用されているアーキテクチャパターンはどれですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する モバイルプラットフォームの小規模な調査を行っていますが、Androidで使用されているデザインパターンを知りたいのですが? たとえば、iOSでは、ビューモデルコントローラーは委任やその他のパタ​​ーンと共に非常に広く使用されています。 Androidはどのようなパターンで、特にどこで使用しますか? 編集 カーネルやdalvikなどで深く使用されているデザインパターンを求めるのではなく、アプリケーション開発者がアプリケーションの開発中に出会うパターンについて尋ねます。


30
Android Studioエラー「サポートされていないモジュールが検出されました:次のモジュールのコンパイルはサポートされていません」
Android Studio 1.0.1を使用しています。プロジェクトの他のモジュールから参照されるJavaモジュールがあります。SVNからチェックアウトしましたが、 サポートされていないモジュールが検出されました:次のモジュールのコンパイルはサポートされていません:。残念ながら、Gradle以外のJavaモジュールとAndroid-Gradleモジュールを1つのプロジェクトに含めることはできません。 このエラーが発生した後、このモジュールのコンパイルを停止して、プロジェクトをコンパイル/実行できなくなります。

8
SharedPreferences.onSharedPreferenceChangeListenerが一貫して呼び出されない
私はこのような設定変更リスナーを(onCreate()私のメインアクティビティの)に登録しています: SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener( new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged( SharedPreferences prefs, String key) { System.out.println(key); } }); 問題は、リスナーが常に呼び出されるとは限らないことです。設定が変更された最初の数回は機能し、アプリをアンインストールして再インストールするまで呼び出されなくなります。アプリケーションを再起動しても、問題は解決しないようです。 私は同じ問題を報告するメーリングリストのスレッドを見つけましたが、誰も実際には彼に答えていません。何が悪いのですか?

4
「android:allowBackup」とは何ですか?
以来新しいADTプレビュー版(バージョン21) 、彼らは私に(アプリケーションタグで)マニフェストファイルに次の事を伝え、新たな糸くずの警告があります。 android:allowBackupを明示的にtrueまたはfalseに設定する必要があります(デフォルトではtrueであり、アプリケーションのデータにセキュリティ上の影響がある可能性があります) では、公式ウェブサイト、彼らが書きました: いくつかの新しいチェック:アプリがバックアップを許可するかどうか、およびラベルチェックを明示的に決定する必要があります。ライブラリパスを設定するための新しいコマンドラインフラグがあります。編集中の増分lint分析に対する多くの改善。 この警告は何ですか?バックアップ機能とは何ですか?どのように使用しますか? また、警告がセキュリティに影響することを警告するのはなぜですか?この機能を無効にすることの欠点と利点は何ですか? マニフェストのバックアップには2つの概念があります。 「android:allowBackup」は、次に示すように、adbを介してバックアップと復元を許可します。 アプリケーションがバックアップおよび復元インフラストラクチャに参加できるようにするかどうか。この属性がfalseに設定されている場合、アプリケーションのバックアップまたは復元は、すべてのアプリケーションデータがadb経由で保存されるシステム全体のバックアップによっても実行されません。この属性のデフォルト値はtrueです。 これは、ADBを介してアプリをバックアップし、アプリのプライベートデータをPCに取り込むことができるため、セキュリティの問題と見なされます。 ただし、ほとんどのユーザーはadbが何であるかを知らないため、問題ではないと思います。知っていれば、デバイスのルート権限を取得する方法も知っています。ADB機能は、デバイスでデバッグ機能が有効になっている場合にのみ機能します。これには、ユーザーがそれを有効にする必要があります。 したがって、デバイスをPCに接続してデバッグ機能を有効にするユーザーのみが影響を受けます。PCにADBツールを使用する悪意のあるアプリがある場合、アプリがプライベートストレージデータを読み取る可能性があるため、これは問題となる可能性があります。 Googleは、ADBを介したアプリのバックアップと復元を許可するために、デフォルトで無効になっている機能を開発者カテゴリに追加するだけでよいと思います。 「android:backupAgent」は、こことここに示されているように、クラウドのバックアップと復元機能の使用を許可します。 実装するクラスの名前は、アプリケーションのバックアップエージェントであり、BackupAgentのサブクラスです。属性値は完全修飾クラス名( "com.example.project.MyBackupAgent"など)である必要があります。ただし、省略形として、名前の最初の文字がピリオド(たとえば、「。MyBackupAgent」)の場合、要素で指定されたパッケージ名に追加されます。デフォルトはありません。名前を指定する必要があります。 これはセキュリティの問題ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.