小编Jib*_*ibW的帖子

更改大小:Android单选按钮

在我的Android应用程序中,我必须使用单选按钮.我需要使单选按钮的大小变小.所以我创建了这样的drawable

<item android:state_checked="true"  android:drawable="@drawable/btn_check_on" />
<item android:state_checked="false"  android:drawable="@drawable/btn_check_off" />
Run Code Online (Sandbox Code Playgroud)
  • 正常方式单选按钮看起来像这样

    此搜索

  • 但是使用小图标,它在文本和按钮之间有一个空格,因为按钮大小变小

镜像2

有没有人知道如何避免文本和按钮之间的空间(Image2),使其看起来像image1.

android android-widget android-layout

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

Android Https Web服务通信(SSL/TLS 1.2)

在我的Android应用程序中,我必须与https Web服务进行通信并阅读响应.

我已通知服务器配置了SSLTLS 1.2.

我使用以下示例代码连接服务(https get请求),但只有运行Android 5.0或更高版本的设备才能成功通信并读取响应....

该版本(Android 5.0)以下的所有其他设备在尝试建立连接时无法通信并抛出IOException ...

    HttpResponse response = null;
    try 
    {        
        HttpClient client = new DefaultHttpClient();

        HttpGet request = new HttpGet();
        request.setURI(new URI("https://domain.co.uk/services/pay.aspx?param1=val1&param2=val2"));

        response = client.execute(request);

        HttpEntity entity = response.getEntity();
        String responseString = EntityUtils.toString(entity); 
        String decodedResStr = URLDecoder.decode(responseString, "UTF-8");  

        Log.v("AppState", "Response: " + decodedResStr);
    }  
    catch (Exception e) 
    {
        e.printStackTrace();
        Log.v("AppState", "Exception: " + e.getMessage() )
    }
Run Code Online (Sandbox Code Playgroud)

要么

    // HttpURLConnection urlConnection = null;
    HttpsURLConnection urlConnection = null; …
Run Code Online (Sandbox Code Playgroud)

java ssl https android tls1.2

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

Android:打开短信意图

在我的 Android 应用程序中,我只需要使用预先填充的message_bodyPhoneNumber打开 SMS 意图。

以下是我正在尝试的代码

Uri uri = Uri.parse(String.format("smsto:%s", strPhoneNumber));
Intent smsIntent = new Intent(Intent.ACTION_SENDTO, uri);
smsIntent.putExtra("sms_body", "Sample Body");
startActivityForResult(smsIntent, OPEN_SMS_APP);
Run Code Online (Sandbox Code Playgroud)

在默认情况下一切都很好,但是如果安装了Facebook Messenger并将其设置为默认的 SMS 应用程序(设置 -> 应用程序和通知 -> 默认应用程序 -> SMS 应用程序),则功能会中断。

问题是,即使它正确选择了电话号码(在 FB Messenger APP 中),它也会在没有message_body(空)的情况下打开FB Messenger。

此外,我尝试了以下测试但没有选择 SMS_BODY 或打开默认的 Android APP

smsIntent.addCategory(Intent.CATEGORY_APP_MESSAGING); // STILL DIDN'T FIX
smsIntent.putExtra(Intent.EXTRA_TEXT, "Sample Body"); // STILL DIDN'T FIX
Run Code Online (Sandbox Code Playgroud)

问题

  1. 即使有人将任何其他 3rd 方 SMS 应用程序设置为默认应用程序,我是否也可以强制打开默认的 Android SMS 应用程序(消息应用程序)?
  2. 或者我可以通过任何其他方式传递 message_body 参数以在其他 3rd 方应用程序中工作吗?

android facebook android-intent android-facebook android-sms

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

在Android应用程序上使用远程MySQL DB同步SQLite DB

我正在开发一个android(Java)项目,我想用远程MySQL数据库信息更新我的SQLite数据库.

最初我想创建SQLite DB作为精确的远程MySQL数据库.在该应用程序之后通常处理SQLite DB.

然后当应用程序关闭并再次启动时,如果远程MySQL数据库发生任何修改,我想将sqlite数据库与MySQL数据库信息同步.

任何人都可以知道如何完成这项任务.谢谢

mysql sqlite android

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

如何使用TextWatcher更新相同的EditText?

在我的Android应用程序中,我需要实现一个TextWatcher接口来实现onTextChanged.我遇到的问题是,我想用一些额外的字符串更新相同的EditText.当我尝试这样做时,程序终止.

 final EditText ET = (EditText) findViewById(R.id.editText1);
 ET.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
            try
            {
                 ET.setText("***"+ s.toString());
                 ET.setSelection(s.length());
            }
            catch(Exception e)
            {
                Log.v("State", e.getMessage());
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after)
        {

        }

        @Override
        public void afterTextChanged(Editable s)
        {               
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的程序终止,甚至我尝试捕获异常,就像我的代码仍然终止.有谁知道为什么会发生这种情况以及如何实现这一目标?谢谢.

java android textwatcher android-edittext android-textwatcher

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

Eclipse"Android设备选择器" - 目标列中所有设备的红色交叉

当我在Android设备选择器加载时运行我的Android开发项目(使用eclipse)时,它会显示我正在运行的模拟器,然后是设备,后面是红色十字,如下面的屏幕截图所示.

在此输入图像描述

但是当我选择设备并运行时,它会安装它并正常运行.

在清单文件中,我包括以下内容.

<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)

只是为了测试我创建了另一个新的测试应用程序项目,在创建新项目时,我选择了具有相同值的minSdkVersiontargetSdkVersion.所以在清单文件中都是一样的.

<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)

但事情是,当我运行新的测试应用程序时,它以正确的方式显示设备和正在运行的模拟器,绿色勾选如下.此外,它还显示了" 启动新的Android虚拟设备 "部分下的设备列表.有点困惑,并尝试解决这个问题.以前有没有人经历过这个.感谢任何帮助,以完成这项工作.提前致谢..!!!

在此输入图像描述

java android

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

Android错误:java.lang.OutOfMemoryError:位图大小超过VM预算

我在stackoverflow中遇到了很多关于这个错误的问题,但是他们没有找到解释我的方案的正确解决方案.

在我的Android应用程序中,我必须允许用户单击按钮以打开图库并选择图像.然后需要将特定的选定图像加载到我的布局(UI)中的ImageView.

这样做很好.以下是我用来实现此目的的代码.

在上传按钮中单击 - >

        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Picture"), REQUEST_UPLOAD_IMG);
Run Code Online (Sandbox Code Playgroud)

然后onActivityResult - >

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{       
    //super.onActivityResult(requestCode, resultCode, data);        
    if(resultCode == Activity.RESULT_OK)
    {
        if(requestCode==REQUEST_UPLOAD_IMG)
        {               
            Uri selectedImageURI = data.getData();
            uploadImgVW.setImageURI(selectedImageURI);              
        }
        else
        {
            Toast.makeText(MainActivity.this, "You can only select an Image.", Toast.LENGTH_LONG).show();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果用户选择具有更大尺寸的图像(如2MB大小),应用程序将退出并出现以下错误.但是正常(KB级别)图像非常好,并且想知道我能为此问题做些什么(处理这种错误情况).谢谢...

错误 - >

06-20 16:43:58.445: E/AndroidRuntime(2075): FATAL EXCEPTION: main
06-20 16:43:58.445: E/AndroidRuntime(2075): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
Run Code Online (Sandbox Code Playgroud)

android android-image android-imageview android-memory

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

Java 代码注释最佳实践

我已经完成了我的 Java/Android 项目,现在我需要注释代码(主要是类和重要方法)。

我需要按照最好的工业标准来做,因为以后如果其他人需要修改,它应该是正确的。

我阅读了很多文章,发现了 3 种主要的 Java 注释样式。

  1. 单行注释 (//.....)
  2. 块注释 (/* ....... */)
  3. 文档注释 (/** ....... */)

我主要阅读选项 2 和 3。堆栈溢出讨论

所以我想使用第二个选项,因为我不需要生成 HTML 文档,因为这些类不会被任何其他人使用,这就是这个应用程序的实现。

想知道在块注释中指示方法或类的“返回”类型、“参数”和“简短描述”的最佳实践是什么。

想听听 java 代码注释的最佳工业标准实践。

提前致谢...!!!

java android comments

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

SWIFT:NSURLSession将数据转换为String

在我的iPhone应用程序(在SWIFT中开发)中,我必须使用https服务(带参数)进行通信,并需要分析响应.

一切正常,但在某些情况下注意到它没有得到预期的结果...进一步分析我发现它是将服务器响应数据转换为字符串(NSData - > NSString)的问题...

1).当我使用UTF8编码时,我得到nil作为转换后的String(responseString)

    let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
Run Code Online (Sandbox Code Playgroud)

2).但是使用ASCII编码它很好(获取正确的响应服务器提供)

    let responseString = NSString(data: data, encoding: NSASCIIStringEncoding)
Run Code Online (Sandbox Code Playgroud)

以下是我正在尝试的完整示例代码 ...

    let myUrl = NSURL(string: "https://myurl.com/myservice.asp")
    let request = NSMutableURLRequest(URL: myUrl!)

    request.HTTPMethod = "POST"
    request.timeoutInterval = 55.0
    let postString = "paramone=\(para1)&paramtwo=\(para2)&paramthree=\(para3)"

    // NOTE: Works ok with ASCII AND UTF8 both encoding types at this point...
    // request.HTTPBody = postString.dataUsingEncoding(NSASCIIStringEncoding)
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in

        if (error != …
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

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

如何在TextBlock中包装文本?

我是windows phone7开发的新手,有一点问题.

我的界面中有一个文本块(Label),在运行时我使用该标签来显示动态数据.问题是当文本太长(比屏幕的宽度)时,它只显示一半的数据(只有符合宽度的内容).去多行并不重要,但我想显示完整的内容.我测试了Textblock(Label)属性,但没有找到任何工作.

有人可以帮帮我吗.(我正在使用visual studio 2010).谢谢


以下是XAML

<Grid x:Name="LayoutRoot" Height="98">
    <Ellipse Height="25" HorizontalAlignment="Left" Name="ellipse1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="46" Margin="6,13,0,0" Fill="#FFDB4C4C" />
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="66,10,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" Width="402" AllowDrop="False" TextWrapping="NoWrap" UseLayoutRounding="True" DataContext="{Binding}" />
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="66,44,0,0" Name="textBlock2" Text="TextBlock" VerticalAlignment="Top" Width="402" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

c# xaml visual-studio windows-phone-7

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