javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

在Android Gradle proj中复制APK文件

我试图将自定义任务添加到我的Android项目的build.gradle中,以将最终的APK和Proguard的publish复制到另一个目录中。 我的任务取决于assemble任务:

task publish(dependsOn: 'assembleDevDebug') << {
    description 'Copies the final APK to the release directory.'

    ...
}

我可以根据文档查看如何使用标准publish任务类型进行文件复制:

task(copy, type: Copy) {
    from(file('srcDir'))
    into(buildDir)
}

但是,前提是您知道要复制的文件的名称和位置。

如何查找作为publish任务的一部分而构建的APK文件的确切名称和位置? 这可以作为财产使用吗? 感觉好像我应该能够将文件声明为任务的输入,并将其声明为assemble任务的输出,但我的Gradle-fu不够强大。

我有一些自定义逻辑将版本号注入APK文件名,因此我的publish任务不能只是假设默认名称和位置。

trans by 2020-08-10T08:00:23Z

将UTF-8编码的数据发布到服务器会丢失某些字符

我正在从事包括服务器(JavaEE应用程序)和客户端(Android应用程序)通信的项目。 XML作为HTTP请求的POST参数之一发送(称为“ xml”)。 我还传递给服务器的其他一些POST参数,但是为了简单起见,在下面的函数中,我将其删除。 发生的问题是某些字母未正确传递到服务器,例如字符Ű(请注意,这不是德语Ü,顺便说一句正确传递了)。 发送代码如下:

private String postSyncXML(String XML) {
    String url = "http://10.0.2.2:8080/DebugServlet/DebugServlet";
    HttpClient httpclient = new DefaultHttpClient();  

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("xml",XML));

    UrlEncodedFormEntity form;
    try {
        form = new UrlEncodedFormEntity(nameValuePairs);
                form.setContentEncoding(HTTP.UTF_8);
        HttpPost httppost = new HttpPost(url);

        httppost.setEntity(form);

        HttpResponse response = (HttpResponse) httpclient .execute(httppost);
        HttpEntity resEntity = response.getEntity();  
        String resp = EntityUtils.toString(resEntity);
        Log.i(TAG,"postSyncXML srv response:"+resp);
        return resp;
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

我的猜测是问题出在BasicNameValuePair中,我用于将XML设置为POST参数之一,并且其文档说它使用US-ASCII字符集。 发送UTF-8编码的POST字段的正确方法是什么?

trans by 2020-08-10T07:37:14Z

gradle-如何在安装新版本之前从设备自动卸载android应用

我正在将Android Studio与Gradle构建一起使用。 我在设备上测试我的应用程序,然后让Android Studio和Gradle构建应用程序并将其安装在设备上。 如何在安装新版本之前告诉Gradle或Android Studio从设备上卸载应用程序?

trans by 2020-08-10T07:07:48Z

android-使用Wifi连接无根设备的ADB

我试图在无根的android设备上使用WIFI连接ADB。 目前我有3个android设备,其中2个运行在Android 4.0.4上,1个运行在2.3上。我的设备IP是192.168.2.122、192.168.2.131、192.168.2.115

我已经对所有它们启用了USB调试,并按照此处列出的所有步骤进行操作

在命令行上,我执行了以下操作

adb tcpip 5555
restarting in TCP mode port:5555 
adb connect 192.168.2.131

我的问题出在我的设备之一(Android 4.0.4)上,ADB与以下消息连接:

connected to 192.168.2.122:5555

但是当我尝试连接其他时说

unable to connect to 192.168.2.131:5555

终端页面的屏幕截图:Screenshot of the terminal page:

所连接设备上的终端图像:enter image description here

设备上未连接的终端的图像:enter image description here

Stack Over Flow上的许多帖子都说我需要为手机设置根目录,但连接ADB的设备也没有根目录。

设备未连接的问题可能是未监听其端口。

任何帮助表示赞赏。

trans by 2020-08-10T04:32:05Z

android-AlertDialog中的多个EditText对象

我正在为一个大学项目工作,该项目将允许用户在地图上放置一个点,然后设置叠加层对象的标题和描述。 问题是,第二个EditText框将覆盖第一个。 这是我的对话框代码。

//Make new Dialog
AlertDialog.Builder dialog = new AlertDialog.Builder(mapView.getContext());
dialog.setTitle("Set Target Title & Description");
dialog.setMessage("Title: ");

final EditText titleBox = new EditText(mapView.getContext());
dialog.setView(titleBox);

dialog.setMessage("Description: ");
final EditText descriptionBox = new EditText(mapView.getContext());
dialog.setView(descriptionBox);

任何帮助,将不胜感激!! 谢谢!

trans by 2020-08-10T04:20:25Z

Android:在Google Maps中设置缩放级别以包括所有标记点

我正在尝试为Android中的地图设置缩放级别,以使其包括列表中的所有点。 我正在使用以下代码。

int minLatitude = Integer.MAX_VALUE;
int maxLatitude = Integer.MIN_VALUE;
int minLongitude = Integer.MAX_VALUE;
int maxLongitude = Integer.MIN_VALUE;

// Find the boundaries of the item set
// item contains a list of GeoPoints
for (GeoPoint item : items) { 
    int lat = item.getLatitudeE6();
    int lon = item.getLongitudeE6();

    maxLatitude = Math.max(lat, maxLatitude);
    minLatitude = Math.min(lat, minLatitude);
    maxLongitude = Math.max(lon, maxLongitude);
    minLongitude = Math.min(lon, minLongitude);
}
objMapController.zoomToSpan(
    Math.abs(maxLatitude - minLatitude), 
    Math.abs(maxLongitude - minLongitude));

有时行得通。 但是有时某些点未显示,因此我需要缩小以查看这些点。 有什么办法解决这个问题?

trans by 2020-08-10T03:51:35Z

android-定制设计EditText

我已定制设计EditText

enter image description here

search_page.xml

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="10dp"
    android:background="#E1E1E1"
    android:weightSum="1" >

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".25"
        android:text="City" />

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:background="@drawable/rounded_edittext"
        android:layout_weight=".75" />
</LinearLayout>

rounded_edittext.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="10dp"
    android:shape="rectangle" >

    <solid android:color="#FFFFFF" />

    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />

</shape>

我想使用颜色代码EditText来获得边框颜色,如轮廓到EditText文本框,如下所示:

enter image description here

关于如何实现这一目标的任何想法?

trans by 2020-08-10T03:45:17Z

java-自动显示键盘

请向我解释有关软键盘的问题。例如,我的活动,对话框片段或片段活动(无论如何)上都有一个EditText。这里是:

<EditText
    android:id="@+id/edPswrd"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPassword" >

    <requestFocus />
</EditText>

当它第一次显示时,我看不到软键盘,必须按下editText才能获得焦点,然后出现键盘。 另一个活动有所不同,当它出现在屏幕上时,将在没有任何帮助的情况下加载键盘。我认为

<requestFocus />

表示EditText将被聚焦并且键盘将出现,但是我错了。

我应该如何管理哪个组件将获得焦点并且键盘会自动出现。

trans by 2020-08-10T01:52:45Z

我可以从服务中的共享首选项中获取数据吗?

我正在开发一个android应用程序。 我正在使用android 2.2

在我的应用程序中,我正在捕获GPS数据,并以1小时的时间间隔将其发送到服务中。 如果用户从应用程序退出,它也可以正常工作(这是必需的)。

我正在使用2种服务(用户定义),一种用于捕获GPS数据,另一种用于发送到服务器。

这是我的疑问

  • 在服务中,我们可以使用共享首选项吗?

  • 如果我们在应用程序的任何活动中以共享首选项存储任何数据,是否能够在共享首选项的帮助下在服务中使用该数据?

trans by 2020-08-10T00:16:50Z

android-在libgdx中,如何从后退按钮获取输入?

对于我的游戏,我希望Android后退按钮可以将您带到暂停菜单,而不是将游戏最小化。 根据我搜索过的内容,我知道我需要打电话

Gdx.input.setCatchBackKey(true);

但是,我实际上如何检查按钮是否按下? input.isKeyDown(Keys.BACK)似乎什么也没做。

trans by 2020-08-09T23:07:22Z

Android Studio未在项目结构中显示模块

我正在使用Android Studio,并且想向我的项目中添加模块,例如“动作栏Sherlock”或jar文件,但是当我打开项目结构时,菜单中没有模块或库:\

在intellij中,它出现了:

enter image description here

所以有什么问题? 如何在Android Studio中添加这些模块?

trans by 2020-08-09T21:51:47Z

firebase-org.gradle.api.resources.ResourceException:无法在Android Studio 3.2中获取资源

我尝试同步gradle,但出现此问题。 谁能帮我?

org.gradle.api.resources.ResourceException: Could not get resource 'https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector-impl/17.0.3/firebase-measurement-connector-impl-17.0.3-javadoc.jar'.

这个问题与为什么我无法将我的应用程序连接到Firebase有关吗?

all error that i got

塞尔文的编辑:

重现步骤:创建具有依赖项的任何项目android项目

dependencies {
    implementation 'com.google.firebase:firebase-core:16.0.5'
}

(对我来说是编译的)gradle具有:

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath 'com.google.gms:google-services:4.2.0'
}

但是垃圾邮件建立->与同步日志

Download https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-core/16.0.5/firebase-core-16.0.5-javadoc.jar
Download https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measurement-connector-impl/17.0.3/firebase-measurement-connector-impl-17.0.3-javadoc.jar

logs如果您尝试同时打开两个URL,它们将返回HTTP 204(无内容)

问题我该如何阻止gradle每次同步时向这些邮件发送垃圾邮件?

trans by 2020-08-09T20:40:53Z

android-左对齐文本,右复选框

我正在尝试为ListView创建一个布局,在右边有一个复选框,在左边有一些文本。 复选框应一直对齐到行的最右边,而TextView始终对齐到行的最左边,例如:

 ------------------------
 text            checkbox
 ------------------------
 text            checkbox
 ------------------------
 text            checkbox
 ------------------------

这是我到目前为止的内容:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      android:paddingLeft="5dip"
      android:paddingRight="5dip"
      android:paddingTop="8dip"
     android:paddingBottom="8dip"
>

<TextView  
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left" 
/>

<CheckBox 
    android:id="@+id/chekcbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right" 
 /> 

 </RelativeLayout>

但是,实际呈现的是TextBox覆盖了该行左侧的复选框。

trans by 2020-08-09T20:23:31Z

android-如何更改简单列表项的文本颜色

我有一个ListActivity,并且正在显示一个列表:

setListAdapter(new ArrayAdapter<String>(getApplicationContext(),
                android.R.layout.simple_list_item_single_choice, mStringList));

默认情况下,列表项的文本颜色为白色,我想将列表中文本视图的文本颜色更改为黑色。

我该怎么办?

trans by 2020-08-09T20:18:04Z

如何在狂野的右侧创建没有下三角的android微调器

我有一个屏幕,用户可以输入很多项目,因此屏幕空间非常宝贵。

我希望屏幕上的小部件的外观(在用户按下之前)类似于EditText或Spinner右侧的Spinner小部件的左侧部分(没有正常的向下三角形)。 然后,当用户按下窗口小部件时,他/她将获得普通的Spinner选择对话框。

我可以更改一些Spinner样式属性来完成此操作吗?

我还看不到这样的代码。

谢谢

trans by 2020-08-09T19:52:54Z

android-包含ImageVi的RecyclerView项目的波纹效果

我有一个SquareImageView's可以扩展以下网格项:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/children_tile_border"
    android:layout_marginTop="@dimen/children_tile_border"
    android:clickable="true"
    android:focusable="true"
    android:background="?selectableItemBackground"
    tools:ignore="RtlHardcoded">

        <com.example.app.ui.widget.SquareImageView
            android:id="@+id/child_picture"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="visible"
            android:layout_alignParentBottom="true"/>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="68dp"
            android:background="@color/tile_text_background"
            android:gravity="center_vertical"
            android:layout_alignParentBottom="true">

            ..............
        </LinearLayout>
</RelativeLayout>

但是除非将SquareImageView's可见性设置为不可见,否则不会出现波纹效果。 似乎在SquareImageView下面绘制了波纹效果。如何在SquareImageView上绘制波纹效果?

trans by 2020-08-09T18:57:44Z

android-从布局获取父视图

我有一个ScrollerLinearLayout这种布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/menulabel"
    android:textSize="24sp" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="text"
    android:layout_below="@+id/textView1"
    android:hint="@string/search_title_hint" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/spinnersearch"
    android:layout_below="@+id/editText1" />

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView2" >

    <Spinner
        android:id="@+id/spinner_search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:prompt="@string/spinnersearch" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/reset_search" />

</LinearLayout>

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/buttonnewcat"
    android:layout_below="@+id/layout1" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/buttondelcat" 
    android:layout_below="@+id/button2" />

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/buttoneditcat"
    android:layout_below="@+id/button3" />

<Button
    android:id="@+id/button5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/buttonnewtext"
    android:layout_below="@+id/button4" />

<Button
    android:id="@+id/button6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/buttondeltext"
    android:layout_below="@+id/button5" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <side.menu.scroll.ScrollerLinearLayout
        android:id="@+id/menu_content_side_slide_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:background="@drawable/ab_solid_example"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/main_tmp_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/actionbar_background"
                android:src="@drawable/download" />

        </LinearLayout>
        <FrameLayout
            android:id="@+id/fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/bg_groud" />

    </side.menu.scroll.ScrollerLinearLayout>
</RelativeLayout>

ScrollerLinearLayout类是这样的:

public class ScrollerLinearLayout extends LinearLayout {
    // code of the class
}

如何从ScrollerLinearLayout访问父布局以获取-例如-editetxt? FragmentActivityScrollerLineraLayout位于同一项目的不同包装中。我试图在ScrollerLinearLayout中以这种方式使用getParent()函数,但是它不起作用。

RelativeLayout r = (RelativeLayout) this.getParent().getParent();
int w = r.findViewById(R.id.editText1).getLayoutParams().width;

谁来帮帮我? 谢谢!

trans by 2020-08-09T18:44:08Z

Android,如何从Google Map V2中删除所有标记?

我的片段中有地图视图。 我需要刷新地图并根据情况添加不同的标记。 因此,在添加新标记之前,我应该从地图上删除最后一个标记。

实际上,几周前应用运行正常,突然发生了。 我的代码是这样的:

private void displayData(final List<Venue> venueList) {

        // Removes all markers, overlays, and polylines from the map.
        googleMap.clear();
.
.
.
}

上一次它运行良好(在Android小组在I / O 2013中宣布新的Google Map API之前)。 但是,此后,我修改了代码以使用此新API。 现在,我不知道为什么此方法googleMap.clear();不起作用!

任何建议,将不胜感激。 谢谢

=======

更新资料

=======

完整的代码:

private void displayData(final List<Venue> venueList) {

        // Removes all markers, overlays, and polylines from the map.
        googleMap.clear();

        // Zoom in, animating the camera.
        googleMap.animateCamera(CameraUpdateFactory.zoomTo(ZOOM_LEVEL), 2000, null);

        // Add marker of user's position
        MarkerOptions userIndicator = new MarkerOptions()
                .position(new LatLng(lat, lng))
                .title("You are here")
                .snippet("lat:" + lat + ", lng:" + lng);
        googleMap.addMarker(userIndicator);

        // Add marker of venue if there is any
        if(venueList != null) {
            for(int i=0; i < venueList.size(); i++) {
                Venue venue = venueList.get(i);
                String guys = venue.getMaleCount();
                String girls= venue.getFemaleCount();
                String checkinStatus = venue.getCan_checkin();
                if(checkinStatus.equalsIgnoreCase("true"))
                    checkinStatus = "Checked In - ";
                else
                    checkinStatus = "";

                MarkerOptions markerOptions = new MarkerOptions()
                        .position(new LatLng(Double.parseDouble(venue.getLatitude()), Double.parseDouble(venue.getLongitude())))
                        .title(venue.getName())
                        .snippet(checkinStatus + "Guys:" + guys + " and Girls:" + girls)
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_orange_pin));

                googleMap.addMarker(markerOptions);
            }
        }

        // Move the camera instantly to where lat and lng shows.
        if(lat != 0  && lng != 0)
            googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), ZOOM_LEVEL));

        googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
            @Override
            public View getInfoWindow(Marker marker) {
                return null;
            }

            @Override
            public View getInfoContents(Marker marker) {
                return null;
            }
        });

        googleMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
            @Override
            public void onInfoWindowClick(Marker marker) {
                String str = marker.getId();
                Log.i(TAG, "Marker id: " + str);
                str = str.substring(1);
                int markerId = Integer.parseInt(str);
                markerId -= 1; // Because first item id of marker is 1 while list starts at 0
                Log.i(TAG, "Marker id " + markerId + " clicked.");

                // Ignore if User's marker clicked
                if(markerId < 0)
                    return;

                try {
                    Venue venue = venueList.get(markerId);
                    if(venue.getCan_checkin().equalsIgnoreCase("true")) {
                        Fragment fragment = VenueFragment.newInstance(venue);
                        if(fragment != null)
                            changeFragmentLister.OnReplaceFragment(fragment);
                        else
                            Log.e(TAG, "Error! venue shouldn't be null");
                    }
                } catch(NumberFormatException e) {
                    e.printStackTrace();
                } catch(IndexOutOfBoundsException e) {
                    e.printStackTrace();
                }
            }
        });
trans by 2020-08-09T18:19:24Z

android-将TextView的文本相对于其drawableLeft imag垂直居中

我有这个组成部分:

<TextView
    android:id="@+id/item_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/icon" />

drawableLeft属性中的图像大于文本的字体,因此我希望文本相对于图像垂直居中。 如何获得这种效果?

trans by 2020-08-09T17:34:50Z

Android ADB停止应用程序命令(如“ force-stop”)用于无根的devi

我正在尝试停止Android 2.3.7设备上的应用程序。 但是在此版本的Android中,我无法使用“强制停止”命令。 您是否知道其他方法可以在无根设备上关闭应用程序?

trans by 2020-08-09T17:22:54Z

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共280页