Android studio 不打印log

出现 E/FastMixer: did not receive expected priority boost

                                      --------- beginning of /dev/log/system

什么log信息都没有,求大湿指教

1个回答

Runner__1
T_world 回复xiaowu7130: 好像用AS开发,如果是真机调试的话就是没有报错信息的
接近 3 年之前 回复
xiaowu7130
xiaowu7130 谢谢,这个不太好用啊,我以前是可以的,就是换了一台电脑装了一下,就不可以打印了
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android studio开发 项目崩溃log没有显示错误代码行
运行app时崩溃,但是发现Android studio monitor并没有显示错误在哪行 没有过滤,也不是华为手机的问题 平常打印的信息也会有 ,就是崩溃的信息没有显示![图片说明](https://img-ask.csdn.net/upload/201709/14/1505380286_724086.png) 手机吐司问题bug![图片说明](https://img-ask.csdn.net/upload/201709/14/1505380328_691111.png) 除了error那个过滤,并没有做过滤![图片说明](https://img-ask.csdn.net/upload/201709/14/1505380388_572402.png) 还有 项目是从eclipse迁移到Android studio上的 据说之前在eclipse上正常显示其他logcat日志 ![图片说明](https://img-ask.csdn.net/upload/201709/14/1505380520_272222.png)没有问题 不知道跟迁移有没有关系 有谁知道的可以联系我 qq 517722528
android 我在源码里面添加了Log,为什么不打印
想去了解下源码,随意在源码的一些地方添加了Log,看看某些方法有没有执行, 我用的是android studio,确实是Log添加到了源码里了,但是不打印?
Android studio 打包自定义属性问题
![图片说明](https://img-ask.csdn.net/upload/201606/23/1466684402_423941.png) 我在app的build.gradle中定义了2个变量,用来控制debug版本和release版本是否打印LOG信息,变量定义如上图。 我在代码中使用 public static final boolean DBG = BuildConfig.ENABLE_DEBUG_LOG; private static final boolean globalDebug = BuildConfig.ENABLE_DEBUG_LOG; 到此一切正常,但是我在使用./gradlew 命令打包的时候出现如下错误 ![图片说明](https://img-ask.csdn.net/upload/201606/23/1466684825_501311.png) 但是,APP大包是成功了,并且可以正常运行。 我在想,是不是build.gradle自定义的变量,在打包开始时,还没有生成。是在打包过程中生成的,所以一开始会报错,但是APP打包是正常的??? 求大神指点。虽然打包成功了,但是有错误提示,感觉不爽。也想知道为什么,多谢。
Android 多进程之间的通信问题
我的项目中有MainActivity和SecondActivity,APP运行之后,在DDMS中可以看到两个进程,一个是<包名>,另一个是<包名.second>,以下是我的清单文件: ``` <activity android:name=".MainActivity" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:process=".second" /> ``` 在MainActivity中 ``` Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("key", "from " + MainActivity.class.getSimpleName()); startActivity(intent); ``` 在SecondActivity中 ``` @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.act_second); LogUtil.i(getIntent().getStringExtra("key")); textView.setText(getIntent().getStringExtra("key")); } ``` 发现Log不打印任何东西,但textView可以显示"from MainActivity",将清单文件中的android:process=".second"去掉,则Log能够打印,textView也可以显示 问题: 1. 如果说不同进程不能以Intent的方式通信,那为什么textView可以显示? 2. 如果不同进程可以以Intent的方式通信,为什么Log不能打印? 谢谢!
Android开发(使用Java)中 client.newCall(request).execute() 语句永久阻塞的问题
小白,开发安卓的小型app,希望使用http的post方法向云端服务器发送json文件,然后获取云端返回的json,以此实现相关操作(比如向服务器发送包含用户名和密码的json文件,然后接收返回的json文件,解析,决定是否允许登录) 由于楼主是学生,暂时付不起云主机的钱,所以和同伴一起在局域网内建立了一个服务器用来前期进行调试。可是在编写android端代码的时候,遇到了问题,就是老是阻塞在一个地方:execute() 下面是代码: ``` //访问云端服务器,获得登录授权 private boolean getAuthorization() { new Thread(new Runnable() { @Override public void run() { try { //创建Client对象 Log.d(debugTag, "创建Client对象"); OkHttpClient client = new OkHttpClient(); //创建request对象 Log.d(debugTag, "创建request对象"); Request request = new Request.Builder() .url("http://10.0.2.2/data") .build(); //创建response对象 Log.d(debugTag, "创建response对象"); Response response = client.newCall(request).execute(); //获取返回值 Log.d(debugTag, "获取返回值"); String data = response.body().string(); //打印 }catch (Exception e) { e.printStackTrace(); } } }).start(); return false; } ``` 这里同伴不在身边,所以就暂时在我电脑上用Apache搭了一个localhost 文件结构: ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559389342_178911.png) data文件的内容:{ "UserName":"John" , "PassWord":"123123" } 用电脑访问的结果: ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559389491_984194.png) 用Postman访问结果: ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559389591_400880.png) 用手机模拟器的浏览器访问结果: ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559389654_240201.png) 都是没有问题的 但是用我自己写的代码访问就不行(上面代码在Android Studio的日志窗口的运行结果): ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559389736_383328.png) 可以发现只运行到了“创建response对象”那一步,之后的execute()永远阻塞住了 但是改一下上面代码的url,改成"https://api.github.com/markdown/raw" 运行就正常了! ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559389984_229154.png) 我的电脑防火墙已经全部关闭
安卓调用百度地图sdk,可是返回坐标值一直是4.9E-324
我发现手机端使用正常,就是在使用夜神模拟器的时候出现的这样的问题。 打开夜神模拟器设置,发现我的软件有这个位置权限(手机端申请了动态权限) 但就是返回4.9E-324,location.getLocType()的返回值是167.我看文档说是没有获取到位置权限。 我现在就有一点迷惑了,动态的也申请了,也在AndroidManifest里面写了权限。 真心不知道这个bug咋解决。 以下是我mainactivity里面所有的代码: ``` package com.example.ppgo; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import android.widget.Toast; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import java.util.ArrayList; import java.util.List; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; public class MainActivity extends AppCompatActivity { public LocationClient mLocationClient; private TextView positionText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mLocationClient=new LocationClient(getApplicationContext()); mLocationClient.registerLocationListener(new MyLocationListener()); setContentView(R.layout.activity_main); positionText=(TextView)findViewById(R.id.position_text_view); List<String> permissionList=new ArrayList<>(); if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest. permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.ACCESS_FINE_LOCATION); } if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest. permission.READ_PHONE_STATE)!=PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.READ_PHONE_STATE); } if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest. permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){ permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); } if(!permissionList.isEmpty()){ String[]permissions=permissionList.toArray(new String[permissionList.size()]); ActivityCompat.requestPermissions(MainActivity.this,permissions,1); }else { requestLocation(); } } private void requestLocation(){ initLocation(); mLocationClient.start(); } private void initLocation(){ LocationClientOption option =new LocationClientOption(); option.setScanSpan(5000); mLocationClient.setLocOption(option); } @Override protected void onDestroy() { super.onDestroy(); mLocationClient.stop(); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); Log.e("Tag","执行了onRequestPermissionsResult函数"); switch (requestCode){ case 1: if (grantResults.length>0){ for(int result:grantResults){ if(result!=PackageManager.PERMISSION_GRANTED){ Toast.makeText(this,"必须同意所有权限才能使用本程序", Toast.LENGTH_SHORT).show(); finish(); return; } } requestLocation(); }else { Toast.makeText(this,"发生未知错误",Toast.LENGTH_SHORT).show(); finish(); } break; default: } } public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location){ StringBuilder currentPosition=new StringBuilder(); currentPosition.append("纬度:").append(location.getLatitude()).append("\n"); currentPosition.append("经线:").append(location.getLongitude()).append("\n"); currentPosition.append("国家:").append(location.getCountry()).append("\n"); currentPosition.append("省:").append(location.getProvince()).append("\n"); currentPosition.append("市:").append(location.getCity()).append("\n"); currentPosition.append("区:").append(location.getDistrict()).append("\n"); currentPosition.append("街道:").append(location.getStreet()).append("\n"); currentPosition.append("定位方式:"); if (location.getLocType() == BDLocation.TypeGpsLocation) { currentPosition.append("GPS"); } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) { currentPosition.append("网络"); currentPosition.append(" 错误代码:"+location.getLocType()); } else if (location.getLocType() == BDLocation.TypeOffLineLocation){ currentPosition.append("离线定位成功,离线定位结果也是有效的"); } else if (location.getLocType() == BDLocation.TypeServerError){ currentPosition.append("服务端网络定位失败"); currentPosition.append(" 错误代码:"+location.getLocType()); } else if (location.getLocType() == BDLocation.TypeNetWorkException){ currentPosition.append("网络不同导致定位失败,请检查网络是否通畅"); } else if (location.getLocType() == BDLocation.TypeCriteriaException){ currentPosition.append("无法获取有效定位依据导致定位失败"); currentPosition.append(" 错误代码:"+location.getLocType()); } else { currentPosition.append(location.getLocType()); //这里打印出来location.getLocType()是162 currentPosition.append("老子也不知道是啥原因!!!"); } positionText.setText(currentPosition); } } } ``` 以下是我AndroidManifest里面的代码: ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ppgo"> <!-- 这个权限用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取网络状态,根据网络状态切换进行数据请求网络转换 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 写外置存储。如果开发者使用了离线地图,并且数据写在外置存储区域,则需要申请该权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读取外置存储。如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 访问网络,进行地图相关业务数据请求,包括地图数据,路线规划,POI检索等 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="mvxMsdG1homIlK4UjAWYP2itjxo09Dyy" /> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote" /> </application> </manifest> ```
Android 8.0 计算文件大小,转换是不是有问题
打印这句 Log.d("zll","481441=="+Formatter.formatFileSize(this,481441)); 结果是这样的:D/zll: 481441==481 kB 网页在线转换的结果是: 470.1572265625 KB 是不是有问题啊,不应该除以1024吗,求大佬释疑
关于安卓内存泄露的问题
小弟最近在做一个小项目,基本上功能完成了,但发现在程序运行了几分钟后会自动退出,打印的日志信息如下: ![图片说明](https://img-ask.csdn.net/upload/201907/22/1563795606_231565.png) 然后又通过对程序进行注释后发现在将从服务器获取数据的功能注释掉后这个问题解决了,所以觉得问题应该是出在这一块,在这个功能中循环调用的函数有关于对象以及线程,不知是否是这一块的问题,现将整个程序贴上求大神帮忙看看: MainActivity中: ``` package com.example.gsontest; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.Toast; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.BitmapDescriptor; import com.baidu.mapapi.map.BitmapDescriptorFactory; import com.baidu.mapapi.map.MapStatusUpdate; import com.baidu.mapapi.map.MapStatusUpdateFactory; import com.baidu.mapapi.map.MapView; import com.baidu.mapapi.map.MarkerOptions; import com.baidu.mapapi.map.MyLocationConfiguration; import com.baidu.mapapi.map.MyLocationData; import com.baidu.mapapi.map.OverlayOptions; import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.utils.CoordinateConverter; import org.json.JSONObject; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class MainActivity extends AppCompatActivity { private MapView mapView; private BaiduMap baiduMap; public LocationClient mLocationClient; public static String responseData; public double dvalueX; public double dvalueY; private boolean isFirstLocate = true; public int mXDirection; //方向类的对象 public MyOrientationListener myOrientationListener; @Override //该函数主要是进行Activity初始化 protected void onCreate(Bundle savedInstanceState) { Log.i("MainActivity","进入到onCreate函数中进行初始化"); super.onCreate(savedInstanceState); //实例化对象 mLocationClient = new LocationClient(getApplicationContext()); //注册监听器 mLocationClient.registerLocationListener(new MyLocationListener()); //初始化SDK SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); mapView = (MapView) findViewById(R.id.bmpView); baiduMap = mapView.getMap(); baiduMap.setMyLocationEnabled(true); //尝试在监听按钮之前进行权限的允许 List<String> permissionList = new ArrayList<>(); if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { permissionList.add(Manifest.permission.ACCESS_FINE_LOCATION); } if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { permissionList.add(Manifest.permission.READ_PHONE_STATE); } if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { permissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); } if (!permissionList.isEmpty()) { String[] permission = permissionList.toArray(new String[permissionList.size()]); ActivityCompat.requestPermissions(MainActivity.this, permission, 1); requestLocation(); } else { requestLocation(); } } private void requestLocation() { Log.i("MainActivity", "进入到requestLocation函数中"); initLocation(); //定位开始 initOrientationListener(); myOrientationListener.start(); mLocationClient.start(); } private void initLocation() { Log.i("MainActivity", "跳进了initLocation定位初始化函数中"); LocationClientOption option = new LocationClientOption(); option.setCoorType("bd09ll"); option.setScanSpan(1000); mLocationClient.setLocOption(option); } private void initOrientationListener() { Log.i("MainActivity", "跳进了initOrientationListener方向初始化函数中"); myOrientationListener = new MyOrientationListener(getApplicationContext()); myOrientationListener.setOnOrientationListener(new MyOrientationListener.OnOrientationListener() { @Override public void onOrientationChanged(float x) { mXDirection = (int) x; } }); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { Log.i("MainActivityActivity","进入onRequestPermissionResult函数中"); switch (requestCode) { case 1: if (grantResults.length > 0) { for (int result : grantResults) { if (result != PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, "必须同意所有权限", Toast.LENGTH_LONG).show(); finish(); return; } } // sendRequestWithOkHttp(); } else { Toast.makeText(this, "发生未知错误", Toast.LENGTH_LONG).show(); finish(); } break; default: } } //定位监听器的类 public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { Log.i("MainActivity", "跳进了onReceiveLocation函数中"); if (location.getLocType() == BDLocation.TypeGpsLocation || location.getLocType() == BDLocation.TypeNetWorkLocation) { navigateTo(location); } } } private void navigateTo(BDLocation location) { Log.i("MainActivity", "跳进了navigateTo函数中"); //从服务器上获取实时的硬件位置 sendRequestWithOkHttp(); //将获取到的数据进行解析 ObjectJson(responseData); //将获取到的经纬度信息在地图上进行显示 displayLocation(dvalueX, dvalueY); //初次定位确定缩放尺寸,后面不改变便于手动伸缩 if (isFirstLocate) { BitmapDescriptor myBitMap = BitmapDescriptorFactory.fromResource(R.drawable.icon_reddirection); MyLocationConfiguration myLocationConfiguration = new MyLocationConfiguration(MyLocationConfiguration.LocationMode.NORMAL, true, myBitMap); baiduMap.setMyLocationConfiguration(myLocationConfiguration); LatLng la = new LatLng(location.getLatitude(), location.getLongitude()); MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(la); baiduMap.animateMapStatus(update); update = MapStatusUpdateFactory.zoomTo(18f); baiduMap.animateMapStatus(update); isFirstLocate = false; } //将手机当前位置的小蓝点显示在屏幕上 MyLocationData.Builder locationBuilder = new MyLocationData.Builder(); locationBuilder.latitude(location.getLatitude()); locationBuilder.longitude(location.getLongitude()); //将要执行获取方向方法 locationBuilder.direction(mXDirection); MyLocationData locationData = locationBuilder.build(); baiduMap.setMyLocationData(locationData); } //重写三个方法以对mapView进行管理,保证资源可以及时释放 @Override protected void onResume() { Log.i("MainActivity", "进入到onResume函数中"); super.onResume(); mapView.onResume(); } @Override protected void onPause() { Log.i("MainActivity", "进入到onPause函数中"); super.onPause(); mapView.onPause(); } @Override protected void onDestroy() { Log.i("MainActivity", "进入到onDestroy函数中"); super.onDestroy(); mapView.onDestroy(); baiduMap.setMyLocationEnabled(false); mLocationClient.stop(); //停止方向监听 myOrientationListener.stop(); } private void sendRequestWithOkHttp() { Log.i("MainActivity", "跳进了sendRequestWithOkHttp方法中"); new Thread(new Runnable() { @Override //重写run方法,run方法规定了该线程的具体使命 public void run() { Log.i("MainActivity","跳进OkHttp的子线程中"); try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://huadiheal.cn/animal/latest_data") .build(); Response response = client.newCall(request).execute(); responseData = response.body().string(); // ObjectJson(responseData); } catch (Exception e) { e.printStackTrace(); } } //创建后线程仅是占有内存资源,在JVM管理的线程中还没有这个资源,要调用父类的start方法通知JVM }).start(); } private void ObjectJson(String responseData) { Log.i("MainActivity", "跳进了ObjectJson函数中"); try { JSONObject jsonObject = new JSONObject(responseData); JSONObject valueX = jsonObject.getJSONObject("value_x"); JSONObject valueY = jsonObject.getJSONObject("value_y"); Iterator<String> iteratorX = valueX.keys(); while (iteratorX.hasNext()) { String valueXkey = iteratorX.next(); String valueXValue = valueX.getString(valueXkey); String valueYValue = valueY.getString(valueXkey); dvalueX = Double.parseDouble(valueXValue); dvalueY = Double.parseDouble(valueYValue); } } catch (Exception e) { e.printStackTrace(); } } public void displayLocation(double dvalueX, double dvalueY) { Log.i("MainActivity", "进入displayLocation中"); LatLng latLng = new LatLng(dvalueY, dvalueX); //进行坐标转换 CoordinateConverter converter = new CoordinateConverter() .from(CoordinateConverter.CoordType.GPS) .coord(latLng); LatLng dLatlng = converter.convert(); //进行刷新时,先清除上一次的overlay baiduMap.clear(); //现添加Marker将位置在地图上标出来 BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.icon_niu32); OverlayOptions option = new MarkerOptions() .position(dLatlng) .icon(bitmap); baiduMap.addOverlay(option); } } ``` 方向传感器的监听类如下: ``` package com.example.gsontest; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.util.Log; //方向监听器的类 public class MyOrientationListener implements SensorEventListener { private SensorManager mySensorManager; private Sensor mySensor; private Context myContext; private float lastX; private OnOrientationListener myOnOrientationListener; public void start(){ Log.i("MainActivity", "跳进了方向类的start函数中"); mySensorManager = (SensorManager) myContext.getSystemService(Context.SENSOR_SERVICE); if(mySensorManager!=null){ mySensor = mySensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); } if(mySensor!=null){ //SENSOR_UI可能会出现数据滞后现象,若后期数据滞后则改成别的类型 mySensorManager.registerListener(this,mySensor,SensorManager.SENSOR_DELAY_NORMAL); } } //接触注册方向传感器监听事件,即对onDestroy中所引方法的实现 public void stop(){ Log.i("MainActivity","跳进方向类的stop函数中"); mySensorManager.unregisterListener(this); } //方向传感器的一个构造函数 public MyOrientationListener(Context myContext){ this.myContext = myContext; } @Override public void onAccuracyChanged(Sensor sensor,int accuracy){} //监听方向变化 @Override public void onSensorChanged(SensorEvent event){ Log.i("MainActivity","跳进了onSensorChanged函数中"); if(event.sensor.getType()==Sensor.TYPE_ORIENTATION){ float x = event.values[SensorManager.DATA_X]; if (Math.abs(x-lastX)>1.0){ if(myOnOrientationListener!=null){ myOnOrientationListener.onOrientationChanged(lastX); } } lastX = x; } } public void setOnOrientationListener(OnOrientationListener myOrientationListener){ this.myOnOrientationListener = myOrientationListener; } public interface OnOrientationListener{ void onOrientationChanged(float x); } } ``` 恳请大神帮忙看下程序谢谢!!
android stuido 中,使用File 类 ,无法在外部存储中创建任何文件(可以读取)
各位大神,如题 :代码如下: String path = Environment.getExternalStorageDirectory() + ""; File file = new File(path+"/report.txt"); file.createNewFile(); Log.i("DictTest",path+"/Report.txt " + file.exists()); log打印 : I/DictTest: /storage/emulated/0/Report.txt true 虽然是true ,但是在手机文件中找不到 权限也给了: 1.<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 2.<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 请问还需要什么其他配置才能在外部存储中生成文件吗? 我其实希望生成excel 文件 ,使用 jxl.jar 中的方法: workbook.write(); workbook.close(); 也是不行,求各位过来人指点 ,谢谢了
Windows 10 版本的电脑 在 CMD 或命令控制符 窗口 输入 chcp 没有反应,基于打印中文 出现乱码
学习 在cmd窗口 打开文本 发现原本是中文的却在窗口显示的是乱码。先是在网上搜索 解决方法:修改注册表或者是输入语句$OutputEncoding = New-Object -typename System.Text.UTF8Encoding都没有反应。(怀疑是因为 版本更新到W10 后 各个控制台 的指令出现更新吗 help的指令也没有反应 )![图片说明](https://img-ask.csdn.net/upload/202001/20/1579480613_464848.png) 在 电脑里查看的 命令提示符 所在位置中 没有 “命令提示符UTF-8”![图片说明](https://img-ask.csdn.net/upload/202001/20/1579480722_536868.png) 以下是 网络上一直出现的 图片 ![图片说明](https://bbs.kechuang.org/r/209939) 我想询问 各路 大神 遇到这种情况 ,该如何解决?
java.util.ArrayList cannot be cast to byte[]
类型不能强制转换,但是我这个并没看出来哪里需要转换,请大家帮忙看一看哪里出问题了。 我在一个activity将bitmap转为byte[]类型,装入List里面,通过gson把这个list变为json类型,再传到另一个activity,解析json数据再转为List。 代码比较长,我就不全列出了。就用log来提供内容吧。 private List<byte[]> mBitmaps = new ArrayList<>(); ...... Log.i(TAG, "getView: "+mBitmaps.get(i)); Log.i(TAG, "getView: "+mBitmaps); Log.i(TAG, "getView: "+mBitmaps.getClass()); if (mBitmaps != null) { Glide.with(mContext).load(mBitmaps.get(i)).into(viewHolder.imageView); } 打印的内容就是 getview:[... , ...] getview:[[... , ...] getView: class java.util.ArrayList 报错就是在Glide那一行, ...就省略了就是-128到128一堆数字。 还需要什么信息就说一下。
在loginactivity中用sharedpreference保存的用户信息,怎样在其他activity和fragment中读取
loginactivity中的代码 SharedPreferences.Editor editor = getSharedPreferences("token",MODE_PRIVATE).edit(); editor.putString("name",responseData.data.user.getUsername() ); editor.putString("jwt",responseData.data.getJwt()); editor.commit(); 能够成功保存 其他地方读取 SharedPreferences preferences; preferences = ContextApplication.getAppContext().getSharedPreferences("toke",Context.MODE_PRIVATE); String token = preferences.getString("jwt","null"); String appId = preferences.getString("name","null"); Log.d("MentalitydataAcitvity:","username========"+appId); Log.d("MentalitydataAcitvity:","jwt======"+token); 不报错 但是打印的数据为空 怎样解决
安卓!Adnroid Studio中怎样获取自己电脑上tomcat服务器里的json数据
自己开发的安卓应用中,需要用到json数据,我还没有让其在APP中显示出来,只是先获取到,再解析,显示。 现在获取这一步就获取不到,Log.d打印不出来,tomcat服务器已经开了,网络权限也配置了,通向tomcat的path也写了,但就是打印不出来,获取不到指定文件里的json数据。求大神解救啊!!!! 前三张是代码截图,第四张是打印的情况,就是无法打印json数据!![图片说明](https://img-ask.csdn.net/upload/201705/22/1495455315_928192.png)![图片说明](https://img-ask.csdn.net/upload/201705/22/1495455329_101690.png)![图片说明](https://img-ask.csdn.net/upload/201705/22/1495455337_149224.png)![图片说明](https://img-ask.csdn.net/upload/201705/22/1495455344_777008.png)
测试的时候看log打印AS卡顿怎么办?
![图片说明](https://img-ask.csdn.net/upload/201809/27/1538032275_921975.jpg) 点了一下红圈位置AS就卡死了,这是什么问题,怎么解决呢?
getRootInActiveWindow()返回空也没有提示任何错误
getRootInActiveWindow(); 返回空,也没有提示任何错误 请看下面代码 AutoService 类里是正常的 Abc 类里不行,也没提示错误 求指教 ``` public class AutoService extends AccessibilityService { public void onAccessibilityEvent(final AccessibilityEvent event) { AccessibilityNodeInfo nodeInfo = getRootInActiveWindow(); Log.d("name", "成功获取getRootInActiveWindow:"+nodeInfo); } } 下面新建一个类 继承 AutoService public class Abc extends AutoService { //建立方法 public synchronized void addweiqun(AccessibilityNodeInfo rootNodeInfo) { //下面的 getRootInActiveWindow(); 却返回空 AccessibilityNodeInfo nodeInfosos = getRootInActiveWindow(); Log.d("name", "DDD:nodeInfosos:: " + nodeInfosos); //打印为空 } } ``` 我猜想 getRootInActiveWindow 是否一定要在 下面这个回调方法里 获取才生效呢? ``` public void onAccessibilityEvent(final AccessibilityEvent event) { AccessibilityNodeInfo nodeInfo = getRootInActiveWindow(); Log.d("name", "成功获取getRootInActiveWindow:"+nodeInfo); //这里是正常获取的 } ``` 新手太郁闷了,求指教啊!!!!
安卓中CheckBox点击没反应
小弟在项目中自定义了一个alertdialog对话框,并在上面有一个CheckBox控件。 其中在onCreate函数中: nomoreCheckBox = (CheckBox) linearLayout.findViewById(R.id.nomore); nomoreCheckBox.setOnCheckedChangeListener(dialogListener); 在onCreate下面写了监听器: public CompoundButton.OnCheckedChangeListener dialogListener = new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { Log.i("MainActivity","按下了复选框按钮"); if(nomoreCheckBox.isChecked() == true){ Log.i("MainActivity","按下勾选"); checkBoxControl = false; } else if (nomoreCheckBox.isChecked() == false){ Log.i("MainActivity","按下取消勾选"); checkBoxControl = true; } } }; 在app中点击该CheckBox复选框,打印出来的日志根本没有进入到这个函数中,请问该怎么解决?谢谢大神!
Android向PHP服务端上传文件报FileNotFoundException错误
服务端:(auth变量为用户登录状态验证,这部分确认没错。) ``` if( $auth==1){ $target_path = ROOT.basename($_FILES['uploadedfile']['name']); echo $target_path; if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploaded_file']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!" . $_FILES['uploadedfile']['error']; } }else{ echo 'error_login'; } ``` 客户端: ``` private String uploadFile = Environment.getExternalStorageDirectory()+ "/" + packageName + "/" + "images" + "/" + "image.jpg"; private String srcPath = Environment.getExternalStorageDirectory()+ "/" + packageName + "/" + "images" + "/" + "image.jpg"; private String actionUrl = getTargetUrl(); //PHP连接 private void uploadFile(final String uploadUrl) { Thread thread = new Thread() { @Override public void run() { //DEBUG File file = new File(uploadFile); if(file.exists()){ Log.i("DEBUG","要上传的文件存在"); } String end = "\r\n"; String twoHyphens = "--"; String boundary = "******"; try { URL url = new URL(uploadUrl); HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); // 设置每次传输的流大小,可以有效防止手机因为内存不足崩溃 // 此方法用于在预先不知道内容长度时启用没有进行内部缓冲的 HTTP 请求正文的流。 httpURLConnection.setChunkedStreamingMode(128 * 1024);// 128K // 允许输入输出流 httpURLConnection.setDoInput(true); httpURLConnection.setDoOutput(true); httpURLConnection.setUseCaches(false); // 使用POST方法 httpURLConnection.setRequestMethod("POST"); httpURLConnection.setRequestProperty("Connection", "Keep-Alive"); httpURLConnection.setRequestProperty("Charset", "UTF-8"); httpURLConnection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); DataOutputStream dos = new DataOutputStream(httpURLConnection.getOutputStream()); dos.writeBytes(twoHyphens + boundary + end); dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\"; filename=\"" + srcPath.substring(srcPath.lastIndexOf("/") + 1) + "\"" + end); dos.writeBytes(end); FileInputStream fis = new FileInputStream(srcPath); byte[] buffer = new byte[8192]; // 8k int count = 0; // 读取文件 while ((count = fis.read(buffer)) != -1) { dos.write(buffer, 0, count); } fis.close(); dos.writeBytes(end); dos.writeBytes(twoHyphens + boundary + twoHyphens + end); dos.flush(); InputStream is = httpURLConnection.getInputStream(); InputStreamReader isr = new InputStreamReader(is, "utf-8"); BufferedReader br = new BufferedReader(isr); String result = br.readLine(); dos.close(); is.close(); } catch (Exception e) { e.printStackTrace(); setTitle(e.getMessage()); } } }; thread.start(); } ``` 运行后返回错误:(包含服务端接收页面的链接) 报错后运行也中止了,没有收到服务端打印的任何信息。 java.io.FileNotFoundException: http://.../upload.php at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:206) Studio指示错误的行是: InputStream is = httpURLConnection.getInputStream(); 起初以为是本地文件不存在,结果用文件管理器确认、包括代码中检查后也打出了“文件存在“,可以确定的是客户端文件路径没错。后来以为URL链接有问题,用电脑浏览器可以正常打开,可以打印内容,所以服务端链接也应没错。 百思不得其解,搜索很久也没找到解决方案,特来求助。求老司机带一带。
安卓开发中,我在Spinner的onItemSelected函数里访问全局变量程序就会CrashHandler闪退
小白在做一个android音乐播放器,想设置一个下拉列表来选择歌曲的播放顺序,分随机播放、按时间顺序播放和按热度播放,但是我在使用Spinner的onItemSelected函数时,在里面调用一下全局的歌曲List就会出现CrashHandler然后闪退,而且不用排序只是想打印一下list信息就会闪退,CrashHandler后面的参数不懂是什么东西,希望大佬们指点一下,下面附上代码和报错信息: ``` public void setSpinner(){ List<String> list = new ArrayList<String>(); list.add("随机播放"); list.add("播放最新"); list.add("播放最热"); adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ public void onItemSelected(AdapterView<?> arg0, final View arg1, final int arg2, long arg3) { // TODO Auto-generated method stub arg0.setVisibility(View.VISIBLE); Log.i("adapter","您选择的是:"+adapter.getItem(arg2)); //以按热度排序为例 Collections.sort(musicList, new Comparator<Music>() { @Override public int compare(Music o1, Music o2){ int diff = o1.getFansnum() - o2.getFansnum(); if(diff >0) { return 1; }else if(diff < 0){ return -1; } return 0; } }); for(int i=0;i<musicList.size();i++){ Log.i("smile", "排序成功~"+musicList.get(i).getObjectId()+"lizi:"+musicList.get(i).getName()); } } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub arg0.setVisibility(View.VISIBLE); } }); } ``` 其中musicList是一个全局变量,我用传参传进函数也不行,难道是因为我的歌曲正在播放? 报错信息: D/AndroidRuntime: Shutting down VM D/CrashHandler: BOARD : unknown BOOTLOADER : unknown BRAND : google CPU_ABI : x86 CPU_ABI2 : DEVICE : generic_x86 DISPLAY : sdk_google_phone_x86-userdebug 7.0 NYC 4662066 dev-keys FINGERPRINT : google/sdk_google_phone_x86/generic_x86:7.0/NYC/4662066:userdebug/dev-keys HARDWARE : ranchu D/CrashHandler: HOST : abfarm646 ID : NYC IS_DEBUGGABLE : true IS_EMULATOR : true MANUFACTURER : Google MODEL : Android SDK built for x86 PERMISSIONS_REVIEW_REQUIRED : false PRODUCT : sdk_google_phone_x86 RADIO : unknown SERIAL : unknown SUPPORTED_32_BIT_ABIS : [Ljava.lang.String;@970f945 SUPPORTED_64_BIT_ABIS : [Ljava.lang.String;@16b589a SUPPORTED_ABIS : [Ljava.lang.String;@cfd5cb TAG : Build TAGS : dev-keys TIME : 1521319005000 TYPE : userdebug UNKNOWN : unknown USER : android-build
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
JAVA 基础练习题
第一题 1.查看以下代码,并写出结果 public class Test01 { public static void main(String[] args) { int i1 = 5; boolean result = (i1++ &gt; 5) &amp;&amp; (++i1 &gt; 4); System.out.println(result); Sy...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正 目录 第一部分 基础知识 一、HelloWorld与命名空间 二、引用和引用参数 2.1引用的定义 2.2 将引用用作函数参数 2.3 将引用用于类对象 2.4 引用和继承 2.5 何时使用引用参数 2.6 引用和指针的区别 三、内联函数 四、默认参数的...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
机械转行java自学经历,零基础学java,血泪总结的干货
机械转行java自学经历,零基础学java,血泪总结的干货 据说,再恩爱的夫妻,一生中都有100次想离婚的念头和50次想掐死对方的冲动。 求职路上亦是如此,打开这篇文章,相信你也有转行的想法。和身边的朋友聊过,入职后的他们,或多或少对现在的职位都有些不满,都有过转行的冲动。 可他们只是想,而我真的这样做了。 下面就介绍下我转行的血泪史。 我为什么要转行 高中复读了一年,考了个双非院校的机械。当时...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
【Linux系统编程】Linux信号列表
00. 目录 文章目录00. 目录01. Linux信号编号02. 信号简介03. 特殊信号04. 附录 01. Linux信号编号 在 Linux 下,每个信号的名字都以字符 SIG 开头,每个信号和一个数字编码相对应,在头文件 signum.h 中,这些信号都被定义为正整数。信号名定义路径:/usr/include/i386-linux-gnu/bits/signum.h 要想查看这些信号和...
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
借助AI力量,谷歌解开生命奥秘?
全文共4484字,预计学习时长8分钟 Paweł Czerwiński发布在 Unsplash上的原图 假如疾病不复存在会发生什么?如果我们能像大自然一样迅速获取能量又会发生什么?要是我们能够在极短时间内循环塑料、废油、或其它的一些物质呢?如果人类能够解开生命的奥秘,那么以上这些想象将在未来成为现实。人工智能企业DeepMind的数据科学分析师日前在此领域有了重大发现。以下为具体内容:...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问