游客iswpvwapn2eoe_个人页

个人头像照片 游客iswpvwapn2eoe
0
19
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    android 怎么看log

    LogCat
    踩0 评论0
  • 回答了问题 2019-07-17

    Android开发,使用验证码注册用哪个服务?

    如果不想自己开发,使用第三方SDK的话,推荐MobSDK
    踩0 评论0
  • 回答了问题 2019-07-17

    android 代码中怎么判断一个TextView有多少行?

    mTextView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Log.e(TAG, '行数'+mTextView.getLineCount()); if(mTextView.getLineCount()>0){ mTextView.getViewTreeObserver() .removeOnGlobalLayoutListener(this); } } }); 当TeXtView在绘制的时候就会回调这个方法,注意当我们得到了想要的值之后注意移除GlobalOnLayoutListener避免多余的执行。
    踩0 评论0
  • 回答了问题 2019-07-17

    如何关闭当前activity

    //关闭当前activity方法一 finish(); //关闭当前界面方法二 android.os.Process.killProcess(android.os.Process.myPid()); //关闭当前界面方法三 System.exit(0); //关闭当前界面方法四 this.onDestroy();
    踩0 评论0
  • 回答了问题 2019-07-17

    现在APP的用户名密码通过什么方式本地安全保存的呢?

    用非对称加密算法,比如RSA来传输用户的密码。 那么用户登陆的流程就变为: 1.客户端用公钥加密用户密码,保存到本地; 2.用户要登陆时,发送加密串到服务器; 3.服务器用私钥解密,得到用户的密码,再验证。
    踩0 评论0
  • 回答了问题 2019-07-17

    android 一个界面调用另一个界面方法

    方法一: 使用setClassName() 方法如下,第一个参数为要调用的或者目标activity或者Service的包(具体说就是package 后面那一串).第二个参数是包名加上具体的activity或者service名. intent.setClassName(包名, 包名+activity名); 方法二: 使用setComponent()方法 方法如下,与setClassName()相似,第一个参数为要调用的或者目标activity或者Service的包(具体说就是package 后面那一串).第二个参数是包名加上具体的activity或者service名. setComponent(new ComponentName('包名','包名+activity名'))
    踩0 评论0
  • 回答了问题 2019-07-17

    Android 是否可以建立一个无activity的service呢

    Service与Activity的区别在于: (1)、Service一直在后台运行,没有用户界面。 (2)、一旦service被启动之后,就跟Activity一样。有自己的生命周期。所以可以没有Activity。 开发service需要两个步骤: (1)、定义一个继承service的子类 (2)、在AndroidManifest.xml中配置该Service ,其过程和配置Activity一样。 Service运行有两种方式: 【1】、通过Context的startService()方法,通过该方法启动用Service,访问者与service之间没有关联,即使访问者退出了,Service仍然运行。 【2】、通过Context的bingSerive()方法,使用该方法启用Service,访问者和service形成关联,即绑定在一起,访问退出,Service也退出。
    踩0 评论0
  • 回答了问题 2019-07-17

    请问Android 怎么 重启一个activity

    1.Intent intent = new Intent(this, Object.class); startActivity(intent); 2. 通过ActivityManager来重新启动应用程序: ActivityManager manager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE); manager.restartPackage('com.example.test'); 3. 通过flag来实现: private void restartApplication() {         final Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);         startActivity(intent); } 4. 利用PendingIntent Intent mStartActivity = new Intent(context, StartActivity.class); int mPendingIntentId = 123456; PendingIntent mPendingIntent = PendingIntent.getActivity(context, mPendingIntentId,    mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT); AlarmManager mgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent); System.exit(0);
    踩0 评论0
  • 回答了问题 2019-07-17

    android编写适应不同分辨率的手机

    可以在res文件路径下新建适配不同分辨率的手机的layout文件,与layout同级 命名为layout-分辨率,请注意大数在前,所以一般就是高x宽,举例layout-2244x1080(HUAWEI P20分辨率)。 在新建的文件下存放的资源和layout下是一致的,不过需要自己做适配,结合不同的显示比例来调整里面的资源文件。手机会根据自己的分辨率来选择不同的layout资源文件,不需要自己在写代码选择,比较智能。
    踩0 评论0
  • 回答了问题 2019-07-17

    android 开发 移动开发 获取手机号

    由于通讯录在手机里是以数据库贮存的 所以我们可以通过一个方法 context.getContentResolver().query(Phone.CONTENT_URI, null, null, null, null); 来获得通讯录 ,这个方法返回一个游标的数据类型,通过moveToNext()方法来获取所有的手机号码信息 当然读取手机通讯录需要权限 在adnroidManifest文件中声明即可 由于我也实现了打电话的功能 所以也要声明权限
    踩0 评论0
  • 回答了问题 2019-07-17

    java,android中intent对象和bundle对象有和区别?

    如果你想对数据进行比较灵活的操作(批量操作什么的)的话就用bundle吧,当然你也可以getIntent之后直接添加数据然后把这个intent发送出去(当然这是不推荐的一种用法啦= =)。 还有就是,Bundle是可以对对象进行操作的,而Intent不可以。Bundle相对于Intent比较偏下层,比Intent接口更多,更灵活,但Bundle仍需要借助Intent才能在Activity之间传递。 概括一下,Intent旨在数据传递,bundle旨在存取数据,当然intent也提供一部分数据的存取,但比起bundle就显得不专业,不灵活的多。
    踩0 评论0
  • 回答了问题 2019-07-17

    关于android访问第三方应用

    1.通过包名启动 PackageManager packageManager = this.getPackageManager(); Intent intent= packageManager.getLaunchIntentForPackage('com.tencent.mobileqq'); startActivity(intent); 2.通过包名和类名启动 Intent intent = new Intent(); ComponentName comp = new ComponentName('com.tencent.mobileqq', 'com.tencent.mobileqq.activity.SplashActivity'); intent.setComponent(comp); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
    踩0 评论0
  • 回答了问题 2019-07-17

    请问android中关闭硬件加速的作用是什么?

    默认开启硬件加速时,WebView所在页面可能会有花屏现象,还有一些自己绘制视图时可能用到的绘制api有不支持硬件加速,这些情况下需要关闭硬件加速功能。
    踩0 评论0
  • 回答了问题 2019-07-17

    Android 调用系统拍照如果截图太大有一瞬间的卡住,然后再跳到上传

    建议不要在主线程中进行处理,可以单独创建个线程来解决。
    踩0 评论0
  • 回答了问题 2019-07-17

    Andorid如何理解额 onCreate()和setContentView()?

    onCreate()函数是在activity初始化的时候调用的,通常情况下,我们需要在onCreate()中调用setContentView(int)函数填充屏幕的UI,一般通过findViewById(int)返回xml中定义的视图或组件的ID。子类在重写onCreate()方法的时候必须调用父类的onCreate()方法,即super.onCreate(),否则会抛出异常。 但是,我们必须要注意的是,在onCreate()函数里我们需要配置一些必要的信息,但是并不是所有的事情都能在这里做。我们知道,一个activity启动调用的第一个函数就是onCreate,它主要做这个activity启动时一些必要的初始化工作,这个函数调用完后,这个activity并不是说就已经启动了,或者是跳到前台了。而是还需要其他的大量工作,我们知道:onCreate之后还有onRestart()和onStart()等,实际上onStart()调用完毕了这个activity还没有完全启动,也只是前台可见,直到 onResume() 调用后这个onCreate才算终于启动。既然这样,那么在一个activity真正启动之前任何相当耗时的动作都会导致activity启动缓慢,特别是在onCreate里面耗时长的话可能导致极差的用户体验。
    踩0 评论0
  • 回答了问题 2019-07-17

    关于android中的activity的启动方式有哪几种

    Activity启动方式有四种,分别是:standard,singleTop,singleTask,singleInstance standard 默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。 singleTop 可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。 singleTask 只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。如果是在别的应用程序中启动它,则会新建一个task,并在该task中启动这个Activity,singleTask允许别的Activity与其在一个task中共存,也就是说,如果我在这个singleTask的实例中再打开新的Activity,这个新的Activity还是会在singleTask的实例的task中。 singleInstance 只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。
    踩0 评论0
  • 回答了问题 2019-07-17

    如何把c++工程打包成android才能够使用的so文件?

    使用NDK进行编译,生成.so文件。
    踩0 评论0
  • 回答了问题 2019-07-17

    怎么校验ip地址

     public boolean isIP(String addr)         {             if(addr.length() 15 || ''.equals(addr))             {                 return false;             }             /**              * 判断IP格式和范围              */             String rexp = '([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}';             Pattern pat = Pattern.compile(rexp);             Matcher mat = pat.matcher(addr);             boolean ipAddress = mat.find();             //============对之前的ip判断的bug在进行判断             if (ipAddress==true){                 String ips[] = addr.split('\\.');                 if(ips.length==4){                         try{                             for(String ip : ips){                                 if(Integer.parseInt(ip)255){                                     return false;                                 }                             }                         }catch (Exception e){                             return false;                         }                     return true;                 }else{                     return false;                 }             }             return ipAddress;         } } 这个代码先用正则表达式判断是否合法,其实就是判断是否右3个点分开字符串,不过对字符串没有判断是否为数字,所以在后面我又找了另一个判断ip的代码,如果前面判断的是合法,则在把字符串用点分开,然后强转成数字判断是否在0到255之间,如果不满足或者强转报错,就返回字符串不是ip的false变量。
    踩0 评论0
  • 回答了问题 2019-07-17

    获取不同时区的日期和时间

    SimpleDateFormat dff = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss'); dff.setTimeZone(TimeZone.getTimeZone('GMT+08')); String ee = dff.format(new Date());
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息