小编use*_*702的帖子

如何在Android Studio模拟器中安装Google Play应用?

我是使用Android Studio的新手,我正在尝试在模拟器上安装Google Play应用.我已经安装了Google RepositoryGoogle Play Services,以及一个Google APIs x86 Atom System Image从SDK管理器,我能够建立谷歌播放服务我的示例应用程序.

我现在想在我的模拟器上安装Google Play应用程序.如何才能做到这一点 ?任何建议或解决方案本身都将非常受欢迎.另外,非常感谢你的时间.

android google-play android-studio

46
推荐指数
4
解决办法
6万
查看次数

Android ExoPlayer - 同时下载视频(非DASH/HLS)和流媒体

我想下载一个在ExoPlayer中流式传输的视频.

另外,甚至在使用ExoPlayer之前,我HttpURLConnection从本地存储提供的输入流中下载了一个文件并播放该文件.这没关系,但是它并没有解决我的同步流和缓存问题.

ExoPlayer还提供了一个缓存系统,这些系统似乎只适用于DASH或HLS流类型.我没有使用这些,并希望缓存mp4与ExtractorRendererBuilder.(这里有相当广泛的主题:https://github.com/google/ExoPlayer/issues/420).

DefaultHttpDataSource确实有暴露的api,HttpURLConnection但我不确定我是否正在重用流.以下是ExoPlayer中提供的示例代码.

    @Override
    public void buildRenderers(DemoPlayer player) {
        Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
        Handler mainHandler = player.getMainHandler();

        // Build the video and audio renderers.
        DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(mainHandler, null);
        DataSource dataSource = new DefaultUriDataSource(context, bandwidthMeter,userAgent);
        ExtractorSampleSource sampleSource = new ExtractorSampleSource(uri,dataSource,allocator,
                BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE, mainHandler, player, 0);
        MediaCodecVideoTrackRenderer videoRenderer = new MediaCodecVideoTrackRenderer(context,
                sampleSource, MediaCodecSelector.DEFAULT, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT, 5000,
                mainHandler, player, 50);
        MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource,
                MediaCodecSelector.DEFAULT, null, true, …
Run Code Online (Sandbox Code Playgroud)

android offline-caching exoplayer

11
推荐指数
1
解决办法
6193
查看次数

Android Studio - 如何在Ubuntu 14.04 64位上安装Android平台工具?

我正在尝试在64位版本的Ubuntu 14.04上安装Android Studio.但是我的安装在此时停止:

在此输入图像描述

怎么解决这个问题?任何建议或解决方案本身都将非常受欢迎.非常感谢您的宝贵时间.

编辑:当我认为这与64位版本的Ubuntu上缺少32位二进制文​​件有关时,我是否在正确的轨道上?我尝试以root身份登录重复安装过程,但问题仍然存在.我究竟做错了什么 ?是否有另一种安装平台工具的方法?另外,这是我的终端告诉我的:

[  26263]  ERROR - tRunWizard$SetupProgressStep$1 - platform-tools, tools and 7 more SDK components were not installed 
com.android.tools.idea.welcome.WizardException: platform-tools, tools and 7 more SDK components were not installed
    at com.android.tools.idea.welcome.InstallOperation.promptToRetry(InstallOperation.java:109)
    at com.android.tools.idea.welcome.InstallComponentsOperation.perform(InstallComponentsOperation.java:80)
    at com.android.tools.idea.welcome.InstallComponentsOperation.perform(InstallComponentsOperation.java:38)
    at com.android.tools.idea.welcome.InstallOperation$1.compute(InstallOperation.java:80)
    at com.android.tools.idea.welcome.InstallContext$Wrapper.run(InstallContext.java:127)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.android.tools.idea.welcome.ProgressStep.run(ProgressStep.java:167)
    at com.android.tools.idea.welcome.InstallContext.run(InstallContext.java:77)
    at com.android.tools.idea.welcome.InstallOperation.execute(InstallOperation.java:72)
    at com.android.tools.idea.welcome.InstallOperation$OperationChain.perform(InstallOperation.java:151)
    at com.android.tools.idea.welcome.InstallOperation.execute(InstallOperation.java:68)
    at com.android.tools.idea.welcome.InstallOperation$OperationChain.perform(InstallOperation.java:149)
    at com.android.tools.idea.welcome.InstallOperation.execute(InstallOperation.java:68)
    at com.android.tools.idea.welcome.InstallOperation$OperationChain.perform(InstallOperation.java:149)
    at com.android.tools.idea.welcome.InstallOperation.execute(InstallOperation.java:68)
    at com.android.tools.idea.welcome.InstallComponentsPath.runLongOperation(InstallComponentsPath.java:301)
    at com.android.tools.idea.welcome.FirstRunWizard.doLongRunningOperation(FirstRunWizard.java:126)
    at com.android.tools.idea.welcome.FirstRunWizard.access$000(FirstRunWizard.java:41)
    at com.android.tools.idea.welcome.FirstRunWizard$SetupProgressStep$1.run(FirstRunWizard.java:160)
    at com.android.tools.idea.welcome.FirstRunWizardHost$LongRunningOperationWrapper.run(FirstRunWizardHost.java:432)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:471)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at …
Run Code Online (Sandbox Code Playgroud)

64-bit android-studio ubuntu-14.04

8
推荐指数
2
解决办法
1万
查看次数

Android - SearchView无法打开Activity

我正在尝试使用本教程来设置SearchView:https: //developer.android.com/training/search/setup.html

我创建了一个带有SearchView的菜单并配置了SearchView.但是,单击键盘上的"搜索"按钮或SearchView的提交按钮时,我的SearchResultActivity无法打开.

我还尝试按动作栏上的搜索小部件不会触发我的搜索活动,但我无法让SearchView打开第二个活动.有人可以帮忙吗?

这是我的菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.sample.searchbarapplication.MainActivity">
    <item
        android:id="@+id/action_search"
        android:orderInCategory="100"
        android:title="@string/action_search"
        android:icon="@drawable/ic_search_white_24dp"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="collapseActionView|ifRoom" />
</menu>
Run Code Online (Sandbox Code Playgroud)

search-configuration xml:

<?xml version="1.0" encoding="utf-8"?>

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="@string/app_name"
    android:hint="@string/search_hint" />
Run Code Online (Sandbox Code Playgroud)

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sample.searchbarapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <meta-data
            android:name="android.app.default_searchable"
            android:value=".MainActivity" />

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />

        </activity>

        <activity android:name=".SearchResultActivity"
            android:launchMode="singleTop">

            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>

        </activity>

    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

MainActivity在其工具栏中包含SearchView:

public …
Run Code Online (Sandbox Code Playgroud)

android searchview

8
推荐指数
1
解决办法
917
查看次数

Android - 在销毁一个Activity后,isFinishing()的值是否仍然为true?

如果这个问题听起来非常基本,请道歉.我有一个Activity异步网络回调.用户离开Activity后可以执行回调.

作为我想要使用的支票isFinishing()(我不能使用,isDestroyed()因为我的最低API级别是16而不是17 isDestroyed()需要).

我可以isFinishing()在回调中使用以确保我的逻辑仅在Activity未被销毁时执行吗?

更具体地说isFinishing(),finish()即使在调用之后调用销毁的Activity也会返回true onDestroy()

我也看了一下源代码.这是isFinishing():

    public boolean isFinishing() {
        return mFinished;
    }
Run Code Online (Sandbox Code Playgroud)

这里是finish(),其中变量设置为true:

   /**
     * Finishes the current activity and specifies whether to remove the task associated with this
     * activity.
     */
    private void finish(boolean finishTask) {
        if (mParent == null) {
            int resultCode;
            Intent resultData;
            synchronized (this) {
                resultCode = mResultCode;
                resultData = mResultData;
            }
            if (false) Log.v(TAG, "Finishing self: token=" …
Run Code Online (Sandbox Code Playgroud)

android activity-lifecycle

7
推荐指数
1
解决办法
2554
查看次数

在Button上单击设置ListView项目的背景颜色

我有一个FragmentActivity,可以包含用户想要的ListFragments.ListFragments在Horizo​​ntalScrollView内并排排列(在ActionBar中选择一个选项时).每个ListFragment项都包含TextView和Button.单击按钮可更改Button的ViewParent的背景颜色 - 包含Button和TextView的LinearLayout.

现在,单击每个ListFragment中的Button可更改其相应列表项的背景颜色,但是在未单击的列表项中滚动按钮时,其背景颜色也会更改.此行为是意外的,因为只有单击的项目需要通过其Button上的相应单击更改其背景颜色.

ListFragment的数据来自一个自定义的SimpleAdapter,它覆盖了getView(int position,View convertView,ViewGroup parent)方法,我将setOnClickListener附加到Button,单击时会更改其ViewParent的背景颜色.

我在这个问题上花了很多时间,但是我无法找到解决方案.有助于理解此行为的根本原因的解释非常有用.此外,欢迎任何有助于在点击时设置一个项目的背景颜色的指导.

以下是我的自定义Adapter MyCustomAdapter的代码,它扩展了SimpleAdapter:

package com.example.androidlistfragmenttest;

import java.util.List;
import java.util.Map;
import android.content.Context;
import android.graphics.Color;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.SimpleAdapter;

public class MyAdapter extends SimpleAdapter{

Context context;

public MyAdapter(Context context, List<? extends Map<String, ?>> data,
        int resource, String[] from, int[] to) {
    super(context, data, resource, from, to);

    this.context = context;
}

@Override
public boolean areAllItemsEnabled() {
    return false;
}

@Override
public boolean isEnabled(int position) { …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-listfragment

5
推荐指数
1
解决办法
4154
查看次数

Android-什么是PendingIntent?

我是Android开发的新手,必须使用重复报警AlarmManager。这是我第一次有机会使用PendingIntent。但是,在阅读了文档(http://developer.android.com/reference/android/app/PendingIntent.html)之后,我对PendingIntent的真正含义感到困惑。

我的问题是:

Q1。PendingIntent“待定” 以什么方式?对此问题表示歉意,但我想对一种PendingIntent方法有一个直观的了解。

Q2。该文件说:

PendingIntent本身只是对系统维护的令牌的引用,该令牌描述了用于检索令牌的原始数据。这意味着,即使其拥有的应用程序的进程被杀死,PendingIntent本身也可以从已为其分配的其他进程中继续使用。如果创建的应用程序以后重新检索相同类型的PendingIntent(相同的操作,相同的Intent操作,数据,类别和组件以及相同的标志),则它将收到表示相同令牌的PendingIntent(如果该令牌仍然有效),并且可以因此调用cancel()将其删除。

如何,

引用由系统维护的描述原始数据的令牌

与我的代码有关吗?

pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),0,photosIntent,0);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,SystemClock.elapsedRealtime(),
                           10000, pendingIntent);
Run Code Online (Sandbox Code Playgroud)

Q3。我也不理解文档中的内容:

由于这种行为,重要的是要知道何时将两个Intent视为相同,以便检索PendingIntent。人们经常犯的一个错误是创建多个PendingIntent对象,它们的Intent仅在其“额外”内容中有所不同,期望每次都获得一个不同的PendingIntent。这不会发生。Intent中用于匹配的部分与Intent.filterEquals定义的部分相同。如果您使用与Intent.filterEquals等效的两个Intent对象,则它们将获得相同的PendingIntent。

什么是extra contents?这是否引用方法中的request codeflag参数getBroadcast(Context context, int requestCode, Intent intent, int flags)

任何帮助,将不胜感激。我的在线搜索没有给我想要的答案。另外,非常感谢您的宝贵时间。

android android-pendingintent

5
推荐指数
1
解决办法
587
查看次数

Android - notifyDataSetChanged()和线程

我有一个AsyncTask,它在doInBackground()方法中进行一些数字运算(在接下来的几行中有更多细节).操纵doInBackground()的数据是与ListView's适配器相关的数据(SimpleAdapter在我的例子中).处理适配器数据后我需要做的就是调用notifyDataSetChanged()并更新我的数据ListView.但是notifyDataSetChanged()在内部调用doInBackground()会显示"不幸'应用名称已停止工作"消息.我的错误堆栈显示了这个:

06-22 08:01:49.083:E/AndroidRuntime(9955):FATAL EXCEPTION:AsyncTask#2 06-22 08:01:49.083:E/AndroidRuntime(9955):java.lang.RuntimeException:执行doInBackground时发生错误()06-22 08:01:49.083:E/AndroidRuntime(9955):在android.os.AsyncTask $ 3.done(AsyncTask.java:299)06-22 08:01:49.083:E/AndroidRuntime(9955): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)06-22 08:01:49.083:E/AndroidRuntime(9955):at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 06-22 08:01:49.083:E/AndroidRuntime(9955):at java.util.concurrent.FutureTask.run(FutureTask.java:239)06-22 08:01:49.083:E/AndroidRuntime(9955):at android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:230)06-22 08:01:49.083:E/AndroidRuntime(9955):at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 06-22 08:01:49.083:E/AndroidRuntime(9955):at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:573)06-22 08:01:49.083:E/AndroidRuntime(9955):at java.lang.Thread.run(Thread.java:838)06-22 08:01:49.083:E/AndroidRuntime(9955):引起:android.view.ViewRootImpl $ CalledFromWrongThreadException :只有创建视图层次结构的原始线程才能触及其视图.

最后一行

06-22 08:01:49.083:E/AndroidRuntime(9955):引起:android.view.ViewRootImpl $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触及其视图.

给我调试所需的信息.我通过调用解决了这个问题notifyDataSetChanged(),从onPostExecute()但我还是不明白是怎么方法实际工作.我的问题是:

Q1.notifyDataSetChanged()实际上如何更新UI?

Q2.notifyDataSetChanged()UI线程和UI线程之间有什么联系?

Q3.有没有notifyDataSetChanged()可以在工作线程上调用的方法?

我是Android的初学者,对这些基本问题的任何帮助都将非常感激.我的互联网搜索没有给我我想要的答案.也非常感谢你的时间.

android android-ui android-adapter android-asynctask

5
推荐指数
1
解决办法
4638
查看次数

Android - setListAdapter()+ notifyDataSetChanged()澄清

ListFragment的数据由自定义适配器(SimpleAdapter在我的情况下)填充.我notifyDataSetChanged()在课堂上使用扩展时遇到了问题ListFragment.经过大量的浏览和之后的几个(有用的)Stack Overflow帖子:

listview没有使用notifydatasetchanged()调用进行更新

在notifyDataSetChanged之后Android ListView没有刷新

适配器notifyDataSetChanged不起作用

notifyDataSetChanged不起作用

从BaseAdapter调用notifyDataSetChanged时,ListView不会更新

我知道松散(并且非常不推荐)的解决方法是使用重新设置适配器setListAdapter().但是我现在也面临着这个问题.

文档http://developer.android.com/reference/android/app/ListFragment.html#setListAdapter(android.widget.ListAdapter)提到了setListAdapter()

提供列表视图的光标.

但我还是有一些问题.

Q1.使用setListAdapter()"指向"同一适配器实例多次初始化适配器?

Q2.当使用setListAdapter()多次设置适配器时,调用getListAdapter()然后调用notifyDataSetChanged()时会发生什么?

Q3.这个问题基于Q2的假设 - 当notifyDataSetChanged()多次设置适配器时调用,哪些适配器实例(这部分是假设),如果它们存在'实际上是通知变更?

我是Android的初学者,我相信有一些我不理解的细微差别.如果你能澄清这些问题,我将非常感激.也非常感谢你的时间.

android android-listview android-adapter

5
推荐指数
1
解决办法
618
查看次数

Android开关 - 使拇指高度大于轨道高度,如何?

在Lollipop之前的Android版本中,有没有办法让开关的拇指高度大于轨道高度?

我本质上是试图在Kitkat中创建一个类似材料设计的开关小部件(和旧版本一样 - 这里的问题是默认情况下拇指'适合'在轨道内).我已经在这方面工作了很长一段时间,但我似乎无法达到正确的设计.

我按照这个SO帖子上的解决方案:如何更改Switch Widget的大小.

任何建议或解决方案将是最受欢迎的.

android android-switch

5
推荐指数
2
解决办法
7783
查看次数