小编Dan*_*iel的帖子

无法解析符号HttpEntity,HttpResponse

我正在尝试使用教程学习XML解析,但有些类没有导入.这是代码:

public String getXmlFromUrl(String url) {
    String xml = null;

    try {
        // defaultHttpClient
        DefaultHttpClient client = new DefaultHttpClient();
        HttpResponse resp = client.execute(uri);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        xml = EntityUtils.toString(httpEntity);

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    // return XML
    return xml;
}
Run Code Online (Sandbox Code Playgroud)

这些类没有导入:

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.impl.client.DefaultHttpClient;
Run Code Online (Sandbox Code Playgroud)

我的Gradle属性:

android {
    compileSdkVersion 23
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId …
Run Code Online (Sandbox Code Playgroud)

android xml-parsing androidhttpclient

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

SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库(仅在单元测试应用程序时)

所以我最近在我的应用程序中添加了持久性并且我得到了这个错误,但有趣的部分是应用程序运行良好,即使持久化对象检索它们和一切,但在运行单元测试时我得到上面写的错误.

以下是我的应用程序的有趣部分

清单权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission." />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
Run Code Online (Sandbox Code Playgroud)

这是gradle配置defailtConfig块

 compileSdkVersion 24
    buildToolsVersion '25.0.0'


    defaultConfig {
        applicationId "mehungry.com.myapplicationnavigationdawerdemo"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        minSdkVersion 22
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true

        jackOptions {
            enabled true
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的DatabaseHelper:

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DatabaseHelper extends SQLiteOpenHelper {

    public static final int DATABASE_VERSION = 2; …
Run Code Online (Sandbox Code Playgroud)

sqlite android unit-testing android-testing android-studio

4
推荐指数
1
解决办法
677
查看次数

在缩放和翻译后如何获得关于画布的触摸坐标?

我需要相对于画布获得触摸x和y,以便在我移动并缩放画布后检查碰撞和类似的事情.

每当我翻译画布时,我已经设法获得了触摸坐标,或者使用以下代码在原点(0,0)周围缩放它:

private float convertToCanvasCoordinate(float touchx, float touchy) {
    float newX=touchx/scale-translatex;
    float newY=touchy/scale-translatey
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将画布围绕另一个点进行缩放,例如canvas.scale(scale,scale,50,50),它就不起作用了.

我知道它应该不起作用,但我无法弄清楚如何解决它.我已经查看了其他问题,但如果按照特定点进行缩放,没有一个答案谈到如何获得坐标.

android canvas

3
推荐指数
1
解决办法
4028
查看次数

Firebase错误:无法添加ValueEventListener

这是我的声明代码:

database = FirebaseDatabase.getInstance();
myRef = database.getReference("lifts");
Run Code Online (Sandbox Code Playgroud)

为什么我不能添加ValueEventListener?我尝试了Firebase指南中的示例.这是代码:

myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {

    }
});
Run Code Online (Sandbox Code Playgroud)

这有效,我不明白为什么?

myRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
    @Override
    public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
        for (com.google.firebase.database.DataSnapshot item: dataSnapshot.getChildren()) {
            ...
        }
        ...
    }
});    
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-realtime-database

3
推荐指数
1
解决办法
3199
查看次数

Google Play商店不会在我更新的应用程序中降级目标SDK版本

我在Google Play商店中有一个目标SDK版本为23的应用程序.现在我已更新了我的应用程序,出于某种原因,我将目标SDK版本设置为20,而Google Play商店不允许我降级目标SDK版本.

我该怎么做才能让Google Play商店允许我的应用程序使用降级的目标SDK版本.实际错误如下:

禁止将先前使用M权限(目标SDK 23及更高版本)的设备降级为使用旧样式权限的APK(目标SDK 22及更低版本).这发生在从版本42(目标SDK 23)到版本43(目标SDK 20)的更改中.

android google-play xamarin

3
推荐指数
1
解决办法
4584
查看次数

我替换片段时没有调用Android onDetach()

我有两个片段(FRAGMENT_1,FRAGMENT_2).FRAGMENT_1正在运行计时器,当我打开FRAGMENT_2时,我希望FRAGMENT_1继续运行它.

onCreate()中的FRAGMENT_1:

if (savedInstanceState == null) {
    FRAGMENT_1 fragment1= new FRAGMENT_1();
    fragment1.setRetainInstance(true);
    getSupportFragmentManager()
        .beginTransaction()
        .add(R.id.main_fragment_container, fragment1, FRAGMENT_1_TAG)
        .addToBackStack(null)
        .commit();
}
Run Code Online (Sandbox Code Playgroud)

这是我在片段之间的导航:

@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();
    Fragment fragment = null;
    String fragTag = "";
    switch (id) {
        case R.id.nav_frag_1:
            //this method returns
            //getSupportFragmentManager().getFragments()
            //.contains(getSupportFragmentManager().findFragmentByTag(tag))
            if (isFragmentCreated(FRAGMENT_1_TAG)) {
                fragment = getSupportFragmentManager()
                        .findFragmentByTag(FRAGMENT_1_TAG);
            } else {
                fragment = new FRAGMENT_1();
            }
            fragTag = FRAGMENT_1_TAG;
            break;

        case R.id.nav_frag_2:
            fragment = …
Run Code Online (Sandbox Code Playgroud)

android fragment

3
推荐指数
1
解决办法
2634
查看次数

AWS Cognito和Alexa帐户链接的正确访问令牌URI是什么?

关于如何将Cognito设置为Alexa中的帐户链接提供程序,我感到有点困惑.到目前为止,在Alexa,我有以下内容:

授权网址:

https://[domain].auth.us-east-1.amazoncognito.com/oauth2/authorize?response_type=code&client_id=[clientID]&redirect_uri=https://pitangui.amazon.com/api/skill/link/[random]
Run Code Online (Sandbox Code Playgroud)

由此端点的文档备份.然后我认为访问令牌URI将遵循:

https://[domain].auth.us-east-1.amazoncognito.com/oauth2/token?grant_type=code&client_id=[clientID]&redirect_uri=https://pitangui.amazon.com/api/skill/link/[random]
Run Code Online (Sandbox Code Playgroud)

此端点也在文档中.但这不起作用,我也对Amazon如何将代码从auth端点传递到令牌端点感到困惑.我见过人们使用:

https://pitangui.amazon.com/api/skill/link/[random]?grant_type=code&client_id=[clientID]&redirect_uri=https://pitangui.amazon.com/api/skill/link/[random]
Run Code Online (Sandbox Code Playgroud)

哪个是帐户关联的重定向URI.在Alexa应用程序和Alexa网站中,我得到重定向不匹配.所有重定向都匹配.

我可以使用隐式流程来正常工作,但我需要让它与auth代码流一起工作,这样我就可以拥有自刷新令牌.

amazon-web-services amazon-cognito alexa-skill alexa-skills-kit

3
推荐指数
1
解决办法
3075
查看次数

我在哪里可以找到 Google Consent SDK 的consentform.html?

我在我的应用程序中安装了以下库:

implementation 'com.google.android.ads.consent:consent-library:1.0.6'
Run Code Online (Sandbox Code Playgroud)

根据文档,我应该可以修改它,但是我找不到 HTML 文件。

android

3
推荐指数
1
解决办法
1028
查看次数

如何拖放叠加ImageButton?

我有这个使用服务激活的覆盖按钮.所以它是一个背景按钮.即使其他程序正在运行,您也可以看到该按钮.但是我在按钮上添加功能时遇到问题,当我按住它时,我可以将它拖到我想要的任何地方到屏幕上.我在这里检查了一些拖放选项,但我无法在我的程序中正确应用它.

在我的dragDrop()方法上,由于以下强制转换错误,它不起作用:

error(WindowManagerLayoutParams could not be cast on Freamelayout.LayoutParams)..

这是我的服务代码:

public class MainPowerAndVolumeService extends Service {

    private ViewGroup mView;
    private LayoutInflater inflater;
    private ImageButton mainButton;
    private Button testButton;


    @Override
    public IBinder
    onBind(Intent intent) {
        return null;
    }


    public void onCreate( ) {
        super.onCreate();


        /*This will make your window or layout to be overlay and of course you can click the buttons*/

        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
                        | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
                        | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSLUCENT
        );



        /*This will …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop imagebutton android-studio

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

谷歌地图无法重置相机缩小

我有基于谷歌地图的应用程序,允许用户查看标记.我遇到的问题是,当我放大查看地图上的所有标记时,经过几秒钟后,地图会重置为原始缩放级别,我无法查看所有标记.

我希望地图保持在用户缩放级别,但我无法想出逻辑.这是我的代码:

@Override
protected void onPostExecute(final ArrayList<Item> arrayList) {
    if(isCancelled()) return;
    if(googleMap!=null) {
        googleMap.clear();
        mMarker2Item.clear();
        LatLngBounds.Builder boundBuilder = new LatLngBounds.Builder();
        for (Item item : arrayList) {
            MarkerOptions opts = new MarkerOptions()
                    .position(item.location())
                    .title(item.name);
            if(item.iconBitmap!=null){
                opts = opts.icon(BitmapDescriptorFactory.fromBitmap(item.iconBitmap));
            }
            Marker newMarker = googleMap.addMarker(opts);
            newMarker.setSnippet(item.vicinity);
            mMarker2Item.put(newMarker, item);
            boundBuilder.include(item.location());
        }
        try {
            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(boundBuilder.build(), 200);
            googleMap.moveCamera(cameraUpdate);
            googleMap.animateCamera(cameraUpdate, 1000, null);
        } catch (Exception ex) {

        }
    } else mHandler.postDelayed(new Runnable() {
        @Override
        public void run() {
            onPostExecute(arrayList);
        }
    }, 500);
}
Run Code Online (Sandbox Code Playgroud)

android google-maps android-studio

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