{"id":693,"date":"2017-01-08T02:48:18","date_gmt":"2017-01-07T17:48:18","guid":{"rendered":"http:\/\/okamurax.com\/?p=693"},"modified":"2020-05-05T01:17:27","modified_gmt":"2020-05-04T16:17:27","slug":"android%e3%81%a7%e5%8f%96%e5%be%97%e3%81%97%e3%81%9f%e5%80%a4%e3%82%92%e3%83%ac%e3%83%b3%e3%82%b5%e3%83%90%e3%81%aemail%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%81%a7%e8%87%aa%e5%8b%95%e9%80%81%e4%bf%a1","status":"publish","type":"post","link":"https:\/\/appbay.org\/?p=693","title":{"rendered":"Android\u3067\u53d6\u5f97\u3057\u305f\u5024\u3092\u30e1\u30fc\u30eb\u3067\u78ba\u8a8d"},"content":{"rendered":"<p>Android\u3067\u81ea\u52d5\u3067\u5024\u3092\u53ce\u96c6\u3057\u3066\u3001\u305d\u308c\u3092\u30ec\u30f3\u30b5\u30d0\u306bPOST\u3057\u3066\u3001\u30ec\u30f3\u30b5\u30d0\u304b\u3089\u81ea\u52d5\u3067\u30e1\u30fc\u30eb\u9001\u4fe1\u3002<\/p>\n<h2>\u30ec\u30f3\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc\u306e\u8a2d\u5b9a<\/h2>\n<p>\u30a8\u30c3\u30af\u30b9\u30b5\u30fc\u30d0\u30fc\u306ecron\u306b\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u30d5\u30eb\u30d1\u30b9\u3067\u8ffd\u52a0\u3002<br \/>\n<span style=\"color: #0000ff;\">\/home\/xxx\/xxx\/script<\/span><br \/>\n\u306e\u3088\u3046\u306a\u611f\u3058\u306b\u3057\u3066\u3001script\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306f701\u306b\u8a2d\u5b9a\u3002<\/p>\n<p>\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u4f53<br \/>\n<span style=\"color: #0000ff;\">tmp=\uff40cat \/xxx\/xxx.txt\uff40<\/span><br \/>\n<span style=\"color: #0000ff;\">echo &#8220;$tmp&#8221; | mail -s &#8220;title&#8221; mail@xxx.com<br \/>\necho &#8220;&#8221; &gt; \/xxx\/xxx.txt<\/span><\/p>\n<p>\u3053\u308c\u3067\u3001xxx.txt\u306e\u5024\u3092\u5b9a\u671f\u9001\u4fe1\u3059\u308b\u3002<\/p>\n<p>xxx.txt\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u4ee5\u4e0b<\/p>\n<pre class=\"lang:php decode:true\">&lt;?php\r\nclass App{\r\n  private function main(){\r\n    if(array_key_exists(\"key\",$_POST) &amp;&amp; array_key_exists(\"lux\", $_POST) &amp;&amp;\r\n    $_POST[\"key\"] == \"xxx\")\r\n    {\r\n      $tmp = file_get_contents(\"xxx.txt\");\r\n      file_put_contents(\"xxx.txt\",$_POST[\"lux\"].\"\\n\".$tmp);\r\n    }\r\n  }\r\n  public function __construct(){\r\n    $this-&gt;main();\r\n  }\r\n}\r\nnew App;<\/pre>\n<p>\u3053\u3053\u3067\u306f\u5358\u7d14POST\u3092\u53d7\u3051\u53d6\u3063\u305f\u3089\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<h2>\u9001\u4fe1\u3059\u308b\u306e\u306fAndroid<\/h2>\n<pre class=\"lang:java decode:true \">package com.example.sokamura.myapplication;\r\n\r\nimport android.support.v7.app.AppCompatActivity;\r\nimport android.os.Bundle;\r\nimport java.text.SimpleDateFormat;\r\nimport java.util.Date;\r\nimport java.util.List;\r\nimport android.hardware.Sensor;\r\nimport android.hardware.SensorEvent;\r\nimport android.hardware.SensorEventListener;\r\nimport android.hardware.SensorManager;\r\nimport android.widget.TextView;\r\n\r\nimport java.util.Timer;\r\nimport java.util.TimerTask;\r\n\r\npublic class MainActivity extends AppCompatActivity implements SensorEventListener {\r\n\r\n    SensorManager sm;\r\n    TextView tv;\r\n    MainActivity ma;\r\n    String body = \"\";\r\n\r\n    @Override\r\n    protected void onCreate(Bundle savedInstanceState) {\r\n\r\n        super.onCreate(savedInstanceState);\r\n        setContentView(R.layout.activity_main);\r\n\r\n        tv = (TextView)findViewById(R.id.t);\r\n        sm = (SensorManager)getSystemService(SENSOR_SERVICE);\r\n        ma = this;\r\n\r\n        Timer timer = new Timer();\r\n        timer.scheduleAtFixedRate( new TimerTask(){\r\n            @Override\r\n            public void run(){\r\n                SubClass s = new SubClass(ma);\r\n                s.execute(body);\r\n                body = \"\";\r\n            }\r\n        },0,1000*60*60*1);\/\/1\u6642\u9593\r\n\r\n    }\r\n\r\n    @Override\r\n    protected void onStop() {\r\n        super.onStop();\r\n        \/\/sm.unregisterListener(this);\r\n    }\r\n\r\n    @Override\r\n    protected void onResume() {\r\n        super.onResume();\r\n        List&lt;Sensor&gt; sensors = sm.getSensorList(Sensor.TYPE_LIGHT);\r\n        if(sensors.size() &gt; 0) {\r\n            Sensor s = sensors.get(0);\r\n            sm.registerListener(this, s, SensorManager.SENSOR_DELAY_UI);\r\n        }\r\n    }\r\n\r\n    @Override\r\n    public void onAccuracyChanged(Sensor sensor, int accuracy) {}\r\n\r\n    @Override\r\n    public void onSensorChanged(SensorEvent event) {\r\n        if(event.sensor.getType() == Sensor.TYPE_LIGHT) {\r\n            String s = new SimpleDateFormat(\"MM\/dd HH:mm:ss\").format(new Date()) + \" \" +\r\n                    String.format(\"%.2f\", event.values[0]);\r\n            tv.setText(s);\r\n            body = s + \"\\n\" + body;\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<pre class=\"lang:java decode:true\">package com.example.sokamura.myapplication;\r\n\r\nimport android.os.AsyncTask;\r\nimport java.io.StringWriter;\r\nimport java.io.PrintWriter;\r\nimport java.io.OutputStreamWriter;\r\nimport java.net.HttpURLConnection;\r\nimport java.net.URL;\r\nimport java.net.URLEncoder;\r\n\r\nclass SubClass extends AsyncTask&lt;String,Integer,String&gt; {\r\n\r\n    \/\/\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u306b\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u8ffd\u52a0\r\n\r\n    public SubClass(MainActivity param){}\r\n\r\n    @Override\r\n    protected void onPostExecute(String param){}\r\n\r\n    @Override\r\n    protected String doInBackground (String ... params) {\r\n\r\n        HttpURLConnection con = null;\r\n\r\n        try {\r\n\r\n            URL url = new URL(\"http:\/\/xxx.com\/xxx.php\");\r\n\r\n            con = (HttpURLConnection) url.openConnection();\r\n            con.setRequestMethod(\"POST\");\r\n            con.setDoOutput(true);\r\n            con.setRequestProperty(\"Content-Type\", \"application\/x-www-form-urlencoded; charset=UTF-8\");\r\n\r\n            OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());\r\n            out.write(\"key=xxx\" + \"&amp;lux=\" + URLEncoder.encode(params[0],\"UTF-8\"));\r\n            out.close();\r\n            con.getInputStream();\r\n\r\n            return \"\";\r\n\r\n        } catch (Exception e) {\r\n\r\n            StringWriter sw = new StringWriter();\r\n            PrintWriter pw = new PrintWriter(sw);\r\n            e.printStackTrace(pw);\r\n            pw.flush();\r\n\r\n            return  \"\";\r\n\r\n        } finally { if (con != null) con.disconnect(); }\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Android\u3067\u81ea\u52d5\u3067\u5024\u3092\u53ce\u96c6\u3057\u3066\u3001\u305d\u308c\u3092\u30ec\u30f3\u30b5\u30d0\u306bPOST\u3057\u3066\u3001\u30ec\u30f3\u30b5\u30d0\u304b\u3089\u81ea\u52d5\u3067\u30e1\u30fc\u30eb\u9001\u4fe1\u3002 \u30ec\u30f3\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc\u306e\u8a2d\u5b9a \u30a8\u30c3\u30af\u30b9\u30b5\u30fc\u30d0\u30fc\u306ecron\u306b\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u30d5\u30eb\u30d1\u30b9\u3067\u8ffd\u52a0\u3002 \/home\/xxx\/xxx\/script &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/appbay.org\/?p=693\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;Android\u3067\u53d6\u5f97\u3057\u305f\u5024\u3092\u30e1\u30fc\u30eb\u3067\u78ba\u8a8d&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-693","post","type-post","status-publish","format-standard","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=693"}],"version-history":[{"count":5,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/693\/revisions"}],"predecessor-version":[{"id":699,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/693\/revisions\/699"}],"wp:attachment":[{"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}