android wsdl通信遇到错误The constructor Service

( )

添加wsimport 方法生成的java文件后出现下面的错误:
第一个错误:The constructor ServiceURL, QName, WebServiceFeature[] is undefined
第二个错误:The method getPortQName, Class in the type Service is not applicable for the arguments QName, Class,
WebServiceFeature[]
上面的错误已经没有了,下面是我的代码

public class MainActivity extends Activity {
    private TextSwitcher textswitch;
    protected void onCreateBundle savedInstanceState {
        super.onCreatesavedInstanceState;
        setContentViewR.layout.activity_main;
        this.textswitch=TextSwitcher findViewByIdR.id.textSwitcher1;
        this.textswitch.setFactorynew ViewFactoryImp;
        new Thread {
            public void run {
                try {
                    Thread.sleep1000;
                    UserOperService v = new UserOperService;
                    String ret = v.getUserOperServer.operReqEn"AUTH","13977618061,780121";
                    MainActivity.this.textswitch.setTextret;
                } catch InterruptedException e {
                    // TODO Auto-generated catch block
                    MainActivity.this.textswitch.setTexte.toString;
                }

            }
        }.start;
    }

显示没错误,运行起来崩溃。log如下:
W/System.err 2136: Caused by: libcore.io.ErrnoException: open failed: ENOENT No such file or directory
W/System.err 1795: Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA No address associated with hostname
W/System.err 1795: Caused by: libcore.io.ErrnoException: setsockopt failed: ENODEV No such device

确认你的服务发布了吗?在浏览器中能查看到wsdl吗?
把server端和client端生成的错误代码贴出来看看。

(看完/读完)这篇文章有何感想! 的分享…

android选择图片在ImageView上显示,调用setImageBitmap,如何是好?

( )

我想选择图片,在ImageView上显示。

先说明一下,百度上搜索一番发现setImageUri这个方法是不建议用的(因为有某种延迟?)

大家都建议使用setImageBitmap这个方法。

我的做法是

点击“选择”按钮后,弹出图片选择界面:

Intent intent=new IntentIntent.ACTION_OPEN_DOCUMENT;
intent.setType"image/*";
startActivityForResultintent,1;

然后在返回的结果中显示图片:

public void onActivityResultint requestCode,int resultCode,Intent data
{
    ifresultCode==Activity.RESULT_OK && requestCode==1
    {
            try
            {
                // 获得图片的uri
                Uri originalUri=data.getData;
                // 将图片内容解析成字节数组
                byte[] mContent=readStreamresolver.openInputStreamUri.parseoriginalUri.toString;
                // 将字节数组转换为ImageView可调用的Bitmap对象
                Bitmap myBitmap=getPicFromBytesmContent,null;
                // //把得到的图片绑定在控件上显示
                iv.setImageBitmapmyBitmap;
            }catchException e
            {
                System.out.printlne.getMessage;
            }
    }
}

跟踪了一下,一切运行顺利,数据也顺利拿到,但是iv.setImageBitmapmyBitmap;之后没有任何反映。。。。

请问各位老师,是否我还有啥操作漏掉了。。。

或者还有其他更好的方法,就请分享给我吧。

readStream,和getPicFromBytes 如下:

public static Bitmap getPicFromBytesbyte[] bytes,
                                     BitmapFactory.Options opts {
    if bytes != null
        if opts != null
            return BitmapFactory.decodeByteArraybytes, 0, bytes.length,
                    opts;
        else
            return BitmapFactory.decodeByteArraybytes, 0, bytes.length;
    return null;
}

public static byte[] readStreamInputStream inStream throws Exception {
    byte[] buffer = new byte[1024];
    int len = -1;
    ByteArrayOutputStream outStream = new ByteArrayOutputStream;
    while len = inStream.readbuffer != -1 {
        outStream.writebuffer, 0, len;
    }
    byte[] data = outStream.toByteArray;
    outStream.close;
    inStream.close;
    return data;

}

我是这样拿图库的图片的:
1、打开

 Intent intent = new IntentIntent. ACTION_PICK,

                   android.provider.MediaStore.Images.Media. EXTERNAL_CONTENT_URI;

          intent.setType "image/*";

          startActivityForResultintent, RESULT_LOAD_IMAGE;

2、回调的方法

    @Override 

         protected void onActivityResultint requestCode, int resultCode, Intent data { 

             super.onActivityResultrequestCode, resultCode, data; 



             if requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data { 

                 Uri selectedImage = data.getData; 

                 String[] filePathColumn = { MediaStore.Images.Media.DATA }; 



                 Cursor cursor = getContentResolver.queryselectedImage, 

                         filePathColumn, null, null , null; 

                 cursor.moveToFirst; 



                 int columnIndex = cursor.getColumnIndexfilePathColumn[0]; 

                 String picturePath = cursor.getStringcolumnIndex; 

                 cursor.close; 



                 iv.setImageBitmapBitmapFactory.decodeFilepicturePath;

                 tv.setTextpicturePath;



             } 

有个问题,就是为什么iv.setImageBitmapbmp;显示不了图片,而我注释了AndroidManifest.xml文件中的users-sdk中的android:targetSdkVersion就会出现了,有什么办法不用注释就显示呢?

(看完/读完)这篇文章有何感想! 的分享…

AndroidManifest提示Top level element is not completed

( )

完整的AndroidManifest如下
我用的是Android studio 1.1.0
错误提示是 Top level element is not completed
Google 百度 无果,表示很悲伤,我也不知道怎么就报了这个错。。。。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application
    android:allowBackup="true"
    android:hardwareAccelerated="false"
    android:icon="@drawable/packagelogo"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name=".login"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

    </activity>
    <activity
        android:name=".newscontent"
        android:label="@string/title_activity_newscontent"
        android:parentActivityName=".main">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".main" />
    </activity>
    <activity
        android:name=".webview"
        android:label="@string/title_activity_webview"
        android:parentActivityName=".main">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".main" />
    </activity>
    <activity
        android:name=".CaptureActivity"
        android:configChanges="orientation|keyboardHidden"
        android:label="@string/title_activity_scan"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateAlwaysHidden">

    </activity>
</application>

你顶上的还少东西啊

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="x.xx"
    android:versionCode="1"
    android:versionName="1.0.0">

你的结构是这样子的吗?

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

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk />
    <uses-configuration />  
    <uses-feature />  
    <supports-screens />  
    <compatible-screens />  
    <supports-gl-texture />  

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service>
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

        <uses-library />

    </application>

</manifest>

参考地址(需要爬墙):http://developer.android.com/guide/topics/manifest/manifest-intro.html

我的是Application的name属性出错,和你的一样啊!

(看完/读完)这篇文章有何感想! 的分享…

如何绕开网络抓取工具?

( )

和服务器通信时直接可以使用fiddle抓取我们应用的请求和返回数据,这样很容易被被人拿去并攻击我们的服务器,大家都怎么解决的?

绕不开的,但是你可以:

  1. 加密
    • 采用 SSL,不过这样也还是能被抓包,只是麻烦点而已
    • 自己写一套算法对传输的数据进行加密
  2. 身份认证
    题主说怕人家拿去攻击,那么在服务器端验证请求者的身份(比如说 token 什么的),如果身份不合法,直接抛个 404/403 之类的(ban 掉 IP 也不是不可以:P)

无法针对抓包工具进行规避吧 fiddle是通过代理实现抓包 如果你的数据很敏感 那要使用密钥进行加密

(看完/读完)这篇文章有何感想! 的分享…

android批量上传图片,20张以上必出现失败几率

( )

业务需求批量上传图片,图片大概一张4M左右,上传10张以下没问题,但是上传10张以上就会出现失败的情况;
错误1:
I/qiniu—-failed﹕ {ResponseInfo:com.qiniu.android.http.ResponseInfo@42ce1ba8,status:-1, reqId:null, xlog:null,error:UnknownHostException exception: Unable to resolve host “upload.qiniu.com”: No address associated with hostname}

错误2:
Passed contentType will be ignored because HttpEntity sets content type

org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection
05-27 11:26:08.936 7268-7683/com.baijimu.engineering W/System.err﹕ at org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlockingConnPoolByRoute.java:353
05-27 11:26:08.946 7268-7683/com.baijimu.engineering W/System.err﹕ at org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntryConnPoolByRoute.java:238

请问这是什么情况?

看你的日志应该是连接超时,应该是并发连接数过高的问题,建议在上传的时候使用队列和线程池的方式,减少并发连接。

(看完/读完)这篇文章有何感想! 的分享…

是否有方法可以获知 Android 程序发送的 Notification 被系统屏蔽?

( )

目前开发的一个 Android 应用会在通知栏展示 推送消息,通过友盟的 track 发现其点击率低于预期,怀疑是一些设备把该应用的 Notification 屏蔽了。比如:在系统的应用详情界面可以取消 Show notifications ,这样该应用的 Notification 就不会在通知栏显示。对于发送 Notification 的应用而言,是否有方法获知自己发送的 Notification 被屏蔽了?

可以让用户在你的app内进行开启/禁止notification的操作,具体方法参考
Settings

可以参考这个
http://stackoverflow.com/questions/11649151/android-4-1-how-to-check-notifications-are-disabled-for-the-application
目前应用的权限只能够判断是否开启关闭,不能修改

(看完/读完)这篇文章有何感想! 的分享…

请教这样的android界面怎么设计。

( )

刚学android没几天,买了几本书都没有这样的界面设计,在网上找了几天也没有找到,所以在此请教答案,谢谢。

  • 顶部: ActionBar;

  • 中间: GridView或者自定义一个View自己排版,如果需要右上角带红色标记,可以参考开源项目viewbadger

  • 底部: 如果你不需要有左右滑动,内容和图标联动的功能,可以自己定义一个公用布局;如果你需要滑动效果,内容和图标联动,可以用开源项目ViewPagerIndictor

下面是个RadioGroup 放4个 RadioButton
中间的用 Fragment
点击下方按钮的时候切换 Fragment

下面可以通过linearlayout的水平排列,通过相同的权重做到等比例摆放。上面的就是gridview.然后你在linearlayout上面放置FrameLayout.这个framelayout就是给fragment的占位的。

header是actionbar
中间是view来切换
footer是radiobutton
页面切换的时候只是中间的view来切换

这个页面设计应该属于app非常见的布局处理, 既然你是新手,我觉得你目前需要的教程,在这里给你推荐一个比较经典android豆瓣项目视频教程 android项目实战教程 以上都是一些精品资源, 祝愿楼主编程顺利!

(看完/读完)这篇文章有何感想! 的分享…

有没有各Android UI 控件的可定义属性列表?

( )

比如说TextView、Button这种,它们的可定义属性不完全相同,一不小心用了没有的属性就会报错

还有例如刚才写了android:textSize=”?android:textAppearanceSmall”,报错了发现应该是android:textAppearance=”?android:textAppearanceSmall”,这种属性对应的值的列表有没有

API文档里面的R.attr感觉不太实用,全都在一块。。
有没有属性列表,或者说这种问题大家怎么处理的呢?

如果你使用android studio的话 在会有自动提示,里面会有属性列表

(看完/读完)这篇文章有何感想! 的分享…

学习使用安卓的录音功能噪音很大

( )

在学习使用安卓开发的时候,有一个录音的练习,录音的噪音很大,怎么才能降噪呢,谢谢
主要代码是

javamRecorder = new MediaRecorder;
mRecorder.setAudioSource MediaRecorder.AudioSource.MIC;
mRecorder.setOutputFormat MediaRecorder.OutputFormat.THREE_GPP ;
mRecorder.setOutputFile newFileName ;
mRecorder.setAudioEncoder MediaRecorder.AudioEncoder.AAC ;
mRecorder.prepare;
mRecorder.start;

(看完/读完)这篇文章有何感想! 的分享…