小编j.c*_*j.c的帖子

Android xxx-hdpi真实设备

我要发布我的应用程序,它是一个1.2Mb的apk,包括4种不同格式的大约120个图标(ldpi,mdpi,hdpi,x-hdpi).

如果我添加xx-dpi和xxx-hdpi图标,apk会变大,加载时间会增加.
有许多入门级设备,内存非常loooow,我希望我的应用程序可以在任何地方运行.

我真的需要添加xx-hdpi吗?

是否有真正的设备需要xxx-hdpi?

icons android dpi android-icons

24
推荐指数
5
解决办法
7万
查看次数

Android webview:像浏览器一样下载文件

我正在开发一个Android应用程序,其webview指向另一个团队的动态网站.
当我下载一个文件(主要是动态重定向的 PDF和ZIP)时,我得到的是下载文件夹中的一个文件,其中包含一些HTML代码,其中包含"用户不允许读取文件"的消息,无论我如何实现下载,我尝试:

  1. 下载管理器
  2. 意图(让外部浏览器管理下载)
  3. "手工"(AsyncTask和httpconnection ......)

都具有相同的结果.

使用普通浏览器导航下载工作正常,无论是在台式PC,Android还是iOS设备上.

为什么webview不能访问文件?

可能是一个会话问题?http端口?
我真的需要一些想法...

另一个提示:当从同一个链接下载两个文件时,链接将重定向到同一个文件,但会产生两个不同的文件名...


编辑:而不是将webView指向web-app ,我试图指向一个带链接重定向的常见网页下载另一个文件,好吧,只是它的工作原理.


以下是webview.setDownloadListener - onDownloadStart()参数:

 userAgent=Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36

 contentDisposition=attachment;
 filename=correct_filename.pdf,      
 url=http://www.xxx.xx/site/downloadfile.wplus?REDIRECTFILE=D-507497120&ID_COUNTOBJ=ce_5_home&TYPEOBJ=CExFILE&LN=2

 mimeType=application/octet-stream
Run Code Online (Sandbox Code Playgroud)

这是一些代码

    wv.getSettings().setSupportMultipleWindows(true);
    wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    wv.getSettings().setAllowFileAccess(true);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setDisplayZoomControls(false);
    wv.getSettings().setLoadWithOverviewMode(true);
    wv.getSettings().setUseWideViewPort(true);
    wv.setDownloadListener(new DownloadListener() {
        @Override           
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength){ 
            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

            request.setDescription("Download file...");
            request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimetype));
            request.allowScanningByMediaScanner();
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); …
Run Code Online (Sandbox Code Playgroud)

permissions android dynamic-links download webview

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

AdMob测试广告仅在英语设备上展示

在我安装Google Play Services API 6.4.1以在我的应用中插入横幅后,我很难让它工作.

在我的测试设备上(nexus-S安装JB 4.1.2,语言设置为意大利语)我没有看到任何广告,使用此logcat:

01-27 13:22:55.518: I/Ads(3463): Use AdRequest.Builder.addTestDevice("2CF3523D47F0CFC8A7523B041D9BB325") to get test ads on this device.
01-27 13:22:55.522: I/Ads(3463): Starting ad request.
01-27 13:23:43.998: I/Ads(3463): No fill from ad server.
01-27 13:23:44.409: W/Ads(3463): Failed to load ad: 3
Run Code Online (Sandbox Code Playgroud)

当我在JB 4.2.1 Nexus 7上运行它,语言设置为英语(我们)时,它一直有效,直到我将语言(设置 - >语言和输入 - >语言)更改为意大利语,然后我再也看不到广告了.

看起来没有非英语语言的广告,但对于测试广告和真实广告都会出现这种情况.

尝试使用运行GB 2.3.3和JB 4.3的模拟器,如果语言设置为英语则显示广告,如果我更改语言,则停止显示广告.

这是我在onCreate()中使用的代码

adView = (AdView)(view.findViewById(R.id.adView));
adRequest = new AdRequest.Builder()
    .addTestDevice("TEST_DEVICE_ID")
    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
    .addTestDevice("2CF3523D47F0CFC8A7523B041D9BB325") // nexus S
    .addTestDevice("9C75E9349CF38EF5EB2C6C6100E96A7E") // nexus 7
    .build();
adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)

如何在非英语设备上进行admob工作?

android admob

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

使用google-play-services_lib添加admob广告后Android应用尺寸增加

我将以两种版本发布我的应用程序,包括付费和免费(使用AdMob广告).
除了我在AdMob服务的免费版本中使用的google-play-service_lib之外,这两个版本完全相同.

使用proguard后的最终apk大小为: 广告版本的
付费版本
1.946.634字节为1.301.435字节

在免费版中,我只会展示插页式广告.

这是我相对于google-play-service_lib的proguard设置

-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}
Run Code Online (Sandbox Code Playgroud)

有什么我可以做的事情来减少文件大小,如删除一些-keep标志或什么?

编辑

使用apktool我发现没有一个类从谷歌Play业务包已经萎缩(包括com.google.android.gms.maps.*,com.google.android.gms.games.*和许多其他人,我认为不需要对广告的管理).

如何强制缩小类或类组?

编辑(再次)

看起来Eclipse并没有保留Proguard输出,至少我无法在任何地方看到它.然后我配置我的项目和库使用Ant构建以查看一些输出,但它几乎没有实质性,这是两种情况:

 -whyareyoukeeping class com.google.android.gms.maps.GoogleMap

 [proguard] Explaining why classes and class members are being kept...
 [proguard] Printing usage …
Run Code Online (Sandbox Code Playgroud)

android proguard admob

6
推荐指数
2
解决办法
3618
查看次数

与RelativeLayout中的最大元素对齐

我正在使用RelativeLayout设计一个简单的布局,我想避免嵌套的LinearLayouts或其他嵌套的视图组.
有9个视图,它们都显示如下:

在此输入图像描述

我不知道如何正确对齐搜索栏以避免文本重叠或包裹线.
从右边对齐:rgb图像宽度是固定的,搜索栏宽度(全部相同)取决于标签宽度,我希望它依赖于最大的一个.
如何知道用什么标签android:layout_toRightOf或什么?

上面的图像还显示了我想避免的两种行为: -
对齐是指第一个标签(@ id/text1) -
第二行:android:layout_alignRight缺少使文本重叠更长.
第3行:android:layout_alignRight存在但文本包装较长.

这就是我想要的:

在此输入图像描述

我应该测量TextViews宽度以找到最大的宽度(当然是以编程方式...)?

有没有想过XML解决方案?

这是代码:

<RelativeLayout
    android:id="@+id/addon"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="@color/semi_transparent_background_controls"
    android:visibility="visible" >

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/seek1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Normal text"/>

    <SeekBar
        android:id="@+id/seek1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/img1"
        android:layout_toRightOf="@id/text1"/>

    <ImageView
        android:id="@id/img1"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/img1"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/seek2"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/img1"
        android:text="Longer text overlaps"/>

    <SeekBar
        android:id="@+id/seek2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/seek1"
        android:layout_alignParentLeft="false"
        android:layout_alignTop="@+id/img2"
        android:layout_below="@id/seek1"
        android:layout_toLeftOf="@id/img2"/>

    <ImageView
        android:id="@id/img2"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/img2"
        android:layout_alignParentRight="true"
        android:layout_below="@id/img1"
        /> …
Run Code Online (Sandbox Code Playgroud)

android relativelayout android-layout

5
推荐指数
0
解决办法
257
查看次数

正则表达式:替换捕获组中的字符

编辑

在正则表达式中,匹配的捕获组是否可以替换为相同的匹配更改(将一个字符替换为另一个字符)?

原问题

我正在将产品列表转换为 CSV 文本文件。列表中的每一行都有:number name[ description] price格式如下:

1 PRODUCT description:120
2 PRODUCT NAME TWO second description, maybe:80
3 THIRD PROD:18
Run Code Online (Sandbox Code Playgroud)


生成的格式还必须包含一个slug(而-不是)作为第二个字段:

1 PRODUCT:product-1:description:120
2 PRODUCT NAME TWO:product-name-two-2:second description, maybe:80
3 THIRD PROD:third-prod-3::18
Run Code Online (Sandbox Code Playgroud)

我正在使用的正则表达式是这样的:

(\d+) ([A-Z ]+?)[ ]?([a-z ,]*):([\d]+)

替换字符串是:

`\1 \2:\L$2-\1:\3:\4
Run Code Online (Sandbox Code Playgroud)

这样我的结果是:

1 PRODUCT:product-1:description:120
2 PRODUCT NAME TWO:product name two-2:second description, maybe:80
3 THIRD PROD:third prod-3::18
Run Code Online (Sandbox Code Playgroud)

-我错过的是第二个字段中需要的分隔符连字符,即\2用“ -”而不是“ ”进行分组。
是否可以使用单个正则表达式,或者我应该进行第二遍?

(目前我使用 Sublime 文本编辑器)

谢谢。

regex capturing-group

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

目标结帐页面,但不是 Woocommerce 中的订单接收页面

我以这种方式链接一些 .js functions.php

if(get_query_var('pagename')==='checkout') {
    wp_enqueue_script('script', 'my.js', array('jquery'), 1.1, true);
}
Run Code Online (Sandbox Code Playgroud)

my.js是我检查一些结账表单输入字段的地方。
现在我看到它my.js也在收到订单的页面中链接(我知道,这是结帐页面的“子页面”!),这会导致一些错误,因为结帐表单不再存在。

如何有条件地在结帐页面中执行某些代码,但不在收到订单的页面中执行某些代码?

谢谢。

javascript php wordpress conditional-statements woocommerce

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

WooCommerce如何更改“退货”按钮的文字?

I can change the button link using the woocommerce_return_to_shop_redirect hook, but i cannot find a "nice" way to change the button text.
I would avoid modifying the core file wp-content/plugins/woocommerce/templates/cart/cart-empty.php every time woocommerce gets updated.

Any other ideas?
Thanx.

hook woocommerce

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

Woocommerce 获得产品类别基础固定链接

有没有办法检索产品类别基础永久链接?

谢谢。

编辑

我添加此图像作为示例:
在此处输入图片说明

我正在寻找get_?option?('?product-category-base?')一种函数,在这个例子中它应该返回字符串:whatever



编辑 2

我发布的图像是wordpress dashboard-> Settings->的裁剪,Permalink并表示additional settings-> product-category-base
我需要检索管理员最终在该字段中插入的值Product category base,我猜有一种get_option()功能的键......

谢谢。

wordpress woocommerce

0
推荐指数
1
解决办法
2389
查看次数