http://tinkerman.cat/rpi3_iot_server.pdf (Catalan)
- download the latest image
| class WifiNetworksFragment : TonalFragment(R.layout.wifi_networks_fragment) { | |
| // This automatically creates and clears the binding in a lifecycle-aware way. | |
| private val binding: WifiNetworksFragmentBinding by viewBinding() | |
| ... | |
| } | |
| class WifiNetworkView @JvmOverloads constructor( | |
| context: Context, | |
| attrs: AttributeSet? = null, |
| [ | |
| { | |
| "id": "b021a39b.a7a1f", | |
| "type": "switch", | |
| "z": "3b880a8a.1a7066", | |
| "name": "根据MAC地址区分设备", | |
| "property": "mac", | |
| "propertyType": "msg", | |
| "rules": [ | |
| { |
| [ | |
| { | |
| "id": "966d4a60.9dcaa8", | |
| "type": "tcp in", | |
| "z": "f5965567.2c44c8", | |
| "name": "", | |
| "server": "server", | |
| "host": "", | |
| "port": "8000", | |
| "datamode": "stream", |
| { | |
| "stats": {}, | |
| "api": { | |
| "services": [ | |
| "StatsService" | |
| ], | |
| "tag": "api" | |
| }, | |
| "policy": { | |
| "levels": { |
http://tinkerman.cat/rpi3_iot_server.pdf (Catalan)
| db.getCollection('list').aggregate([ | |
| { | |
| $facet: { | |
| "events":[{ | |
| $match: { | |
| 'type': 'Event' | |
| } | |
| }], | |
| "tasks": [{ | |
| $match: { |
| /** | |
| * 百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换的工具 | |
| * | |
| * 参考 https://github.com/wandergis/coordtransform 实现的Java版本 | |
| * @author geosmart | |
| */ | |
| public class CoordinateTransformUtil { | |
| static double x_pi = 3.14159265358979324 * 3000.0 / 180.0; | |
| // π | |
| static double pi = 3.1415926535897932384626; |
https://stackoverflow.com/a/18003462/348146
None of these suggestions worked for me, because Android was appending a sequence number to the package name to produce the final APK file name (this may vary with the version of Android OS). The following sequence of commands is what worked for me on a non-rooted device:
Determine the package name of the app, e.g.
com.example.someapp. Skip this step if you already know the package name.
adb shell pm list packagesLook through the list of package names and try to find a match between the app in question and the package name. This is usually easy, but note that the package name can be completely unrelated to the app name. If you can't recognize the app from the list of package names, try finding the app in Google Play using a browser. The URL for an app in Google Play contains the package name.