关键字:
  • node重装angular-cli(ng serve 找不到ng)

    作者: king       发表时间: 2018-11-07 15:20
    ng serve 找不到ng ng不是内部支持的程序,先卸载然后按如下方式重装。   彻底卸载: npm uninstall -g angular-cli npm uninstall -g @angular/cli npm cache verify Delete the C:\Users\YOU\AppData\Roaming\npm\node_modules\@angular folder.   npm uninstall angular-devkit/build-angular npm uninstall @angular-devkit/build-angular npm cache verify Delete the yourproject\npm\node_modules\@angular folder.   npm uninstall angular-cli npm uninstall @angular/cli npm cach...
  • Android 引用第三方so文件加载报错

    作者: king       发表时间: 2018-10-02 11:30
    问题分析   不同CPU架构的Android手机加载时会在libs下找自己对应的目录,从对应的目录下寻找需要的.so文件;如果没有对应的目录,就会去armeabi下去寻找。 如果已经有对应的目录,但是如果没有找到对应的.so文件,也不会去armeabi下去寻找了。 所以需要注意工程配置哪几个so文件目录,需要加载对应的so文件,不然会报错。 如果配置了 ndk {         abiFilters "armeabi", "armeabi-v7a", "x86", "mips"     },而只有armeabi下有so文件,遇到armeabi-v7a平台的手机,没有armeabi-v7a目录下的so文件就会加载报错。 解决方法 1.去掉以下配置,在main文件夹中新建jniLibs资源包 sourceS...
  • fitsSystemWindows属性解析

    作者: king       发表时间: 2018-10-02 11:00
    属性说明 fitsSystemWindows属性可以让view根据系统窗口来调整自己的布局;系统窗口包括系统状态栏、导航栏、输入法等,包括一些手机系统带有的底部虚拟按键。 android:fitsSystemWindows=”true” 会触发View的padding属性来给系统窗口留出空间,设置为false时可能出现Toolbar与状态栏重叠的情况。 这个属性可以给任何view设置,只要设置了这个属性,此view的其他所有padding属性失效。 fitsSystemWindows属性的生效条件是设置了透明状态栏(StatusBar)或者透明导航栏(NavigationBar)。fitsSystemWindows只作用在Android4.4及以上的系统,因为4.4以下的系统StatusBar没有透明状态。 透明状态栏 4.4:设置android:windowTranslucateStatus属性,并且手动添加一个和状态栏高度等高的View。 5.0及以上:不设置android:windowTransluc...
  • 防止Adapter线程异常

    作者: king       发表时间: 2018-10-02 10:50
    报错信息 the content of the adapter has changed but Listview did not receive a notification. Make sure the content of the adapter is not modified from a background thread,but only from the UI thread. Make sure your adapter calls notifyDatachanged() when its content changes. 解决方法 1.Adapter避免在子线程修改数据。 2.在主线程中更新数据后,及时调用notifyDataSetChanged。  
  • TextView maxEms 与显示省略号的问题

    作者: king       发表时间: 2018-10-02 10:25
    em em是一个印刷排版的单位,表示字宽的单位。 equal M 意思和M字符一致的宽度为一个单位,简称em。 ems是em的复数表达。 附:setEm代码  public void setEms(int ems) {         mMaxWidth = mMinWidth = ems;         mMaxWidthMode = mMinWidthMode = EMS;         requestLayout();                 invalidate(); }   比较 maxLength=”5” 限制TextView最多5个字符数。汉字、英文、数字都算一个字符。超过限制时截断,不会有省略号。 maxEms=&r...
  • Fragment中的返回问题

    作者: king       发表时间: 2018-10-01 15:45
    Fragment newFragment = new ExampleFragment(); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); transaction.commit(); 通过transaction.addToBackStack(null),当按返回键时,会将之前的fragment恢复。 注意:需要Fragment与Activity版本对应,即FragmentV4对应FragmentActivity,版本不匹配将会导致Activity被直接关闭,而不是回到上一个Fragment。 如果Fragment与Activity版本对应不上,又想实现fragment的返回栈效果,则需要重写Fragment所在Activity的onBackPre...
  • Android 编译报错:“Error running ...: Please select Android SDK”

    作者: king       发表时间: 2018-10-01 15:29
    原因: 由于Android Studio异常关闭,使得某些配置文件损坏,因此需要在线更新SDK才能恢复被损坏的文件。 解决办法: 1.依次选择主菜单“File”——“Settings” 2.依次展开“Appearance & Behavior”——“System Settings”——“Android SDK”,单击SDK目录输入框右边的“Edit”链接。 3.在弹出的SDK的设置界面,SDK的目录保持不动,单击页面下方的“Next”按钮,在下一个页面继续单击“Next”按钮,等待Android Studio下载完成最新的编译工具,单击“Finish”完成更新。   回到Android Studio的主界面重新编译即可。
  • Android Studio JNI开发(C语言版)

    作者: king       发表时间: 2018-08-21 00:29
    2.JNI开发 2.1 配置jni开发工具 * ndk (native develop kit ) 下载http://developer.android.com/tools/ndk/index.html 解压到C:\Android\android-sdk\ndk-bundle,将该目录配置到系统环境变量(测试下ndk-build出现下面提示说明配置成功) C:\Users\kl>ndk-build Android NDK: Could not find application project directory ! Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. C:\Android\android-sdk\ndk-bundle\build\\..\build\core\build-local.mk:151: *** Android NDK: Aborting    .  Stop. ...
  • C语言开发要点

    作者: king       发表时间: 2018-08-20 13:03
    1. C开发 要点: 开发工具:Dev-C++ C 基本数据类型 C 输出、输入函数 内存地址概念 指针入门 多级指针 数值和指针 结构体 联合体 枚举 1.1 HellloWorld #include<stdio.h>    // .h c的头文件。stdio: standard io 标准输入输出 #include<stdlib.h>   // stdlib: standard library 标准函数库 java.lang等 main(){           printf("helloworld!\n");  //System.out.println();   "\n"换行符 } 1.2 基本数据类型 C...
  • 解决不能远程连接 阿里云Mysql数据库问题

    作者: king       发表时间: 2018-08-20 11:20
    1.mysql用户访问权限     MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;     其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。    进入mysql数据库    $mysql -u root -p    >use mysql;    >select host,user from user;     发现所有记录的host字段的值都是localhost,将其改为%,重启mysql服务,再尝试远程连接。          经以上步骤,重启后,如果还是不能远程连接,则执行第2步。 2.关闭防火墙    开了防火墙,并配置了入站规则也并不能访问。    尝试直接关闭防火...
  • 处理hideSoftInputFromWindow失效问题

    作者: king       发表时间: 2018-07-10 23:42
    软键盘显示时参数: public static final int SHOW_FORCED = 0x0002; 非强制不收起。此参数导致hideSoftInputFromWindow失效   修改方式: 显示软键盘时,将SHOW_FORCED 替换为SHOW_IMPLICIT隐式请求软键盘。 imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);  
  • 配置并行编译解决Gradle编译慢

    作者: king       发表时间: 2018-07-10 23:38
    1.gradle.proerties 文件 org.gradle.jvmargs=-Xmx2048m org.gradle.parallel=true org.gradle.configureondemand=true 2.settings  ->Build ->Compile 勾选 compile independent modules in parallel 3.settings  ->Build ->Gradle 勾选 Offlinework  
  • Tcp为什么需要3次握手

    作者: king       发表时间: 2018-07-10 23:28
    为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手, 为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手
  • isFinishing()处理 Unable to add window

    作者: king       发表时间: 2018-07-10 23:25
    先调用activity的isFinishing方法判断一下 以下代码的场景:蓝牙连接或断开时调用,但是Activity退出时,断开蓝牙也会回调,这是执行window.clearFlags会异常。 解决办法是先判断isFinishing,false的情况再执行。 override fun onBleConnectChanged(isConnected: Boolean) {     if (!isFinishing)     {         if (isConnected)         {             window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREE...
  • android 唤醒屏幕

    作者: king       发表时间: 2018-07-10 23:14
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED         | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);