如何在安卓手机ubuntu终端运行py文件hp文件

Android客户端与PHP服务端通讯(三)-极光推送注册使用
原创
139
Android客户端与PHP服务端通信(三)---极光推送注册使用概述
推送消息的方式有很多,在这里我选择了极光推送。本节分为上下两部分,首先通过注册极光推送并使用其Demo程序来看一下推送的效果,然后再一步一步的修改到自己的应用上。注册登录极光推送
开发人员基本上都了解使用第三方的库,很多都需要注册才能使用,极光推送也不例外。直接登录极光推送官网https://www.jpush.cn/,注册自己的账号,注册的流程就不介绍了,这个都会。注册完直接登录,登录后,可以由下图看到自己还没有创建任何应用。创建应用
点击“创建应用”,界面变为下图。
按自己需要,输入应用名称,上传应用图标,同时我使用的是Android环境下开发,在Android栏目中填写你即将创建的应用的包名,我填写的为下图所示(程序员朋友爱生活爱技术的同时一定要爱惜自己的身体啊)
填写完后,点击“创建我的应用”,下图可以看出成功创建了应用下载并使用极光推送实例程序
点击上图中红线框出的“下载Android Example”,将其保存到电脑指定位置。
自带的实例程序中没有APK文件,用Eclipse打开程序,或许会出现以下错误[ 21:45:54 - JPushExample(269090)] Unable to resolve target 'android-10'[ 21:45:54 - JPushExample(269090)] Project compiler settings changed. Clean your project.[ 21:45:55 - JPushExample(269090)] Unable to resolve target 'android-10'
这是因为我的Eclipse中没有下载支持这个版本的SDK包,解决方法就是将project.properties中的target=android-10换成支持的版本就可以了,这里我换成了target=android-18,然后按F5或者右键项目选择Refresh就可以了。
此时运行软件
然后回到极光推送的应用网页
选择推送\发送通知,点击立即发送
此时手机上就可以看到推送的通知了结尾
实际上写到这里,我想大多数的程序设计者都应该知道怎么去做了,那就是对照着极光推送的官方文档和这个示例代码,修改移植到自己的程序当中,下一节我准备分析示例程序的框架,以备自己移植所需。/************************************************************************************************原创文章,转载请注明网址:http://blog.csdn.net/mybelief321/article/details/*鲁阳高科工作室*网
址:www.bigbearking.com*商务合作QQ:*业 务 范 围:网站建设、桌面软件开发、Android\IOS开发、图像影视后期处理、PCB设计***********************************************************************************************/
江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。
PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。
本课以最新版ThinkPHP5.0.10为基础进行开发,全程实录一个完整企业点,从后台到前台,从控制器到路由的全套完整教程,不论是你是新人,还是有一定开发经验的程序员,都可以从中学到实用的知识~~
ThinkPHP是一个快速、开源的轻量级国产PHP开发框架,是业内最流行的PHP框架之一。本课程以博客系统为例,讲述如何使用TP实战开发,从中学习Thinkphp的实践应用。模版下载地址:http:/...
本课程是php实战开发课程,以爱奇艺电影网站为蓝本从零开发一个自己的网站。目的是让大家了解真实项目的架构及开发过程
本课以一个极简的PHP开发框架为案例,向您展示了一个PHP框架应该具有的基本功能,以及具体的实现方法,让您快速对PHP开发框架的底层实现有一个清楚的认识,为以后学习其实的开发框架打下坚实的基础。
javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。...
本站9月直播课已经结束,本套教程是直播实录,没有报上名或者漏听学员福利来了,赶紧看看吧,说不定这里就有你的菜
轻松明快,简洁生动,让你快速走入HTML5的世界,体会语义化开发的魅力
JavaScript能够称得上是史上使用最广泛的编程语言,也是前端开发必须掌握的三技能之一:描述网页内容的HTML、描述网页样式的CSS以及描述网页行为的JavaScript。本章节将帮助大家迅速掌握...
《php用户注册登录系统》主要介绍网站的登录注册功能,我们会从最简单的实现登录注册功能开始,增加验证码,cookie验证等,丰富网站的登录注册功能
Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。为所有开发者、所有应用场景而设计,它让前端开发更快速、简单,所有开发者都能快速上手...
《php.cn独孤九贱(2)-css视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了CSS知识...
《PHP学生管理系统视频教程》主要给大家讲解了HTML,PHP,MySQL之间的相互协作,实现动态的网页显示和获取数据.
《弹指间学会HTML视频教程》从最基本的概念开始讲起,步步深入,带领大家学习HTML,了解各种常用标签的意义以及基本用法,学习HTML知识为以后的学习打下基础
jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的...
《最新微信小程序开发视频教程》本节课程是由微趋道录制,讲述了如何申请一个微信小程序,以及开发中需要使用哪些工具,和需要注意哪些等。
全栈工程师
文章总浏览数安卓手机上有什么可以离线运行整个php软件_百度知道
安卓手机上有什么可以离线运行整个php软件
我有更好的答案
AndroPHP集成PHP和MySQL你值得拥有,并且如果你打开了数据流量,其他人就可以访问你的网站了。
采纳率:41%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。PHP服务端如何保存android客户端发来的数据
<a data-traceid="question_detail_above_text_l&&
最近在做一个小工程,用的是android的客户端和WAMP平台。
想通过PHP端接收android端发来的消息,然后通过session保存起来,由另外的php文件读取。
但是现在android端的消息是可以被php接收,但是保存不了。
不知道怎么回事。或者有其他方法吗。
php怎么接收android传过来的数据& 求代码
--- 共有 1 条评论 ---
不好意思,代码已经丢失了而且也不碰这个东西很久了。这个是我当时做的笔记,“……当android端将账户和密码传递给PHP服务端,PHP服务端通过一个叫做$_POST的超级变量,根据传送的“id”接收并提取相关数值……”。然后回传给android的话就用echo好像就可以了。不知道帮不帮的上什么忙
想了解php端到底怎么保存android端发送的值。在单纯使用Http client而不是json的情况下。
用开放平台那套,自己签名啊
--- 共有 1 条评论 ---
自己签名是什么意思?
传递过来的参数里面带sid
没开cookie也可以每次携带一个seesion id。
--- 共有 2 条评论 ---
: 放URL里面可以,或者放在post参数里面也可以!
携带的session id是放在url里面吗,我是用http client来进行交流的.
session机制你还是没理解了啊,如果非得用session的话,初次请求后,你给an返回sessionid,下次an请求的时候顺便把这个sessionid也传输过去,php那边获取到设置下sessionid就行了,不建议这样做;你放到缓存不就行了啊;
--- 共有 2 条评论 ---
: 不是啊;
放到缓存是什么意思?是指在PHP端将接收的消息放到cookie里面?
android没开启cookie吧?
客户端没携带cookies,开发接口不用session怎样在Android访问php取回json数据
1. [代码]php代码&&&&
1 $array = array(
2&& &#39;username&#39;=&&#39;杨铸&#39;,
3&& &#39;password&#39;=&&#39;;,
4&& &#39;user_id&#39;=&1
6 echo json_encode($array);
2. [代码]java代码&&&&
01 private void startUrlCheck(String username,String password)
03&&&& HttpClient client = new DefaultHttpClient();
04&&&& StringBuilder builder = new StringBuilder();
06&&&& HttpGet myget = new HttpGet(&https://10.0.2.2//index.php&);
07&&&& try {
08&&&&&&&& HttpResponse response = client.execute(myget);
09&&&&&&&& BufferedReader reader = new BufferedReader(new InputStreamReader(
10&&&&&&&& response.getEntity().getContent()));
11&&&&&&&& for (String s = reader.readLine(); s != s = reader.readLine()) {
12&&&&&&&&&&&& builder.append(s);
13&&&&&&&& }
14&&&&&&&& JSONObject jsonObject = new JSONObject(builder.toString());
15&&&&&&&& String re_username = jsonObject.getString(&username&);
16&&&&&&&& String re_password = jsonObject.getString(&password&);
17&&&&&&&& int re_user_id = jsonObject.getInt(&user_id&);
18&&&&&&&& setTitle(&用户id_&+re_user_id);
19&&&&&&&& Log.v(&url response&, &true=&+re_username);
20&&&&&&&& Log.v(&url response&, &true=&+re_password);
21&&&& } catch (Exception e) {
22&&&&&&&& Log.v(&url response&, &false&);
23&&&&&&&& e.printStackTrace();
3. [代码]运行说明&&&&
01 其中https://10.0.2.2为Android访问本机url的ip地址。对应电脑上测试的https://127.0.0.1
03 另外执行代码时会抛出异常
05 java.net.SocketException: Permission denied
07 此为应用访问网络的权限不足 在AndroidManifest.xml中,需要进行如下配置:
08 &uses-permission Android:name=&android.permission.INTERNET& /&
10 &/manifest&
11 之前就好了
12 然后测试通过。当你的才华还撑不起你的梦想时,你只能一直前进!
一、写在前面
  web开发有前端和后端之分,其实android还是有前端和后端之分。android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发。android和php在当下如此热门,我想作为一个android程序员还是应该清楚android与php的交互的,那么,今天我们就来尝试一波~
二、环境准备
1)虽然现在十分流行wamp(windows+apache+mysql+php)和lamp的php开发模式,但是为了省时省力,今天我们就暂且使用xampp作为环境搭建,xampp的便捷性我想大家一定早有耳闻,这里就不做详细介绍,下载地址:
2)安装过程十分简单,和常规安装方法都是差不多,安装目录一定要在磁盘根目录,我这里就安装在F盘根目录。
3)安装结束后,找到xampp-control.exe,点击运行;
4)启动apache服务和mysql服务,mysql的初始账号为root,密码为空,如需修改自己修改配置文件,如果端口被占用也可以直接通过修改config文件来修改端口(点击config查找listen并修改它就好了),是的,如果你点击start后背景变为这个颜色,就代表你启动服务成功了。
5)端口被占用的话点击config查找listen并修改它就好了
6)检测环境,在浏览器输入127.0.0.1:80(默认端口为80的时候可以不输入),如果能弹出下面的页面就正确的
&7)点击phpInfo可以看到当前php环境的情况,点击phpMyadmin可以看mysql数据库,并对其操作;
查看mysql,我们可以在mysql数据库下建表和做一切的数据库操作(你可以使用GUI,也可以使用sql语句,看个人喜好吧);
&8)搭建环境就花了太多时间就不好了,下面速度创建一个表,并插入部分数据,省的偏题了,毕竟我们不是来研究如何搭建环境的。
可以看到我这里在Mysql下建立了一个表,表名为aiya_user,并插入了两条数据;
1)终于到了php代码编写阶段,下面我们就把数据库中的两条数据信息转换为json并在android端成功访问起来。
我们先把表的信息存放在一个php文件中
3 // 服务器
4 define('DB_HOST', '127.0.0.1');
6 //端口号
7 define('DB_PORT', '3306');
9 // 用户名
10 define('DB_USER', 'root');
12 // 密码
13 define('DB_PWD', '');
15 // 数据库名
16 define('DB_NAME', 'mysql');
2)然后写一个response响应,并生成json串,我这里采用的是status(boolean),msg和一个数据结构的方式;
JSON_UNESCAPED_UNICODE这句话是php5.1之后让echo出来的值跳过转为unicode码的方式
2 class Response {
* 按json方式输出通信数据
* @param unknown $status
* @param string $message
* @param array $data
* @return string
public static function json($status, $message = '', $data = array()) {
if (! is_bool ( $status )) {
return '';
$result = array (
'status' =& $status,
'message' =& $message,
'data' =& $data
echo json_encode ( $result,JSON_UNESCAPED_UNICODE);
3)下面直接来连接操作数据库进而得到json串
2 require_once 'response.php';
3 require_once '../test01/db.php';
4 require_once 'connect_config.php';
6 $status = false;
7 $msg = '';
8 $data = array();
10 // $conn = Db::getInstance()-&connect();
11 $conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME,DB_PORT) or die('数据库连接失败');
12 $query = "select * from aiya_user";
13 $data1 = mysqli_query($conn, $query);
14 if ($data1){
$status = true;
$msg = '成功';
while($row = mysqli_fetch_array($data1)){
$data [$i]['username'] = $row['username'];
$data [$i]['password'] = $row['password'];
$data [$i]['birthday'] = $row['birthday'];
echo Response::json($status,$msg,$data);
echo '你好';
echo '&br/&';
// 加入JSON_UNESCAPED_UNICODE 让php转换为json的时候绕过转码为unicode
echo json_encode($value,JSON_UNESCAPED_UNICODE);
echo urlencode(json_encode($value));
$status = false;
$msg = '数据查询失败';
$valuse = array(
echo json_encode($value,JSON_UNESCAPED_UNICODE);
&4)运行我们的php文件可以看到:
5)为了看的清晰一些,我们采用json在线解析一下:
看起来的确有几分神似我们平时只用得到的json接口数据哈~这挺棒的。
四、android端
1)android端我暂且就采用当下主流的retrofit2.1.0进行网络访问,具体实用细节大家可以传送过去:
2)简单看下代码:
1 package com.example.nanchen.
3 import retrofit2.C
4 import retrofit2.http.GET;
* @author nanchen
* @fileName NetTest
* @packageName com.example.nanchen.nettest
13 public interface AppService {
@GET("test_api.php")
Call&Response& listResponse();
Response.java
1 package com.example.nanchen.
3 import com.google.gson.annotations.SerializedN
5 import java.util.L
* @author nanchen
* @fileName NetTest
* @packageName com.example.nanchen.nettest
14 public class Response {
@SerializedName("status")
public boolean
public List&User&
用于存放数据的User.java
1 package com.example.nanchen.
* @author nanchen
* @fileName NetTest
* @packageName com.example.nanchen.nettest
10 public class User {
public String getUsername() {
public void setUsername(String username) {
this.username =
public String getPassword() {
public void setPassword(String password) {
this.password =
public String getBirthday() {
public void setBirthday(String birthday) {
this.birthday =
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", birthday='" + birthday + '\'' +
最后是MainActivity.java
1 package com.example.nanchen.
3 import android.os.B
4 import android.support.v7.app.AppCompatA
5 import android.util.L
6 import android.view.V
7 import android.widget.T
9 import java.text.SimpleDateF
10 import java.util.D
11 import java.util.L
13 import retrofit2.C
14 import retrofit2.C
15 import retrofit2.R
16 import retrofit2.converter.gson.GsonConverterF
18 public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public void btnClick(View view) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://10.1.1.113/AiYaSchoolPush/test/")
.addConverterFactory(GsonConverterFactory.create())
AppService service = retrofit.create(AppService.class);
service.listResponse().enqueue(new Callback&Response&() {
public void onResponse(Call&Response& call, retrofit2.Response&Response& response) {
List&User& userList = response.body().
Toast.makeText(MainActivity.this, "访问成功:" + userList.toString(), Toast.LENGTH_LONG).show();
Log.e(TAG,"访问成功:"+userList.toString());
for (int i = 0; i & userList.size(); i++) {
User user = userList.get(i);
String birthday = user.getBirthday();
Log.e(TAG, birthday);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
user.setBirthday(sdf.format(new Date(Long.valueOf(birthday))));
Log.e(TAG, user.toString());
public void onFailure(Call&Response& call, Throwable t) {
Toast.makeText(MainActivity.this, "访问失败:" + t.getMessage(), Toast.LENGTH_LONG).show();
Log.e(TAG, "访问失败:" + t.getMessage());
后记:这里只是简单使用php生成一个可访问接口,只可以在局域网进行访问,其中我的ip:10.1.1.113是路由器IP,只要你的服务器和手机在一个局域网就可以访问到这个json串了。这里还采用的是明文传输,在实际开发中我们却更多的使用加密的方式,并且还需要采用post等方式让android端和服务器进行交互,这些笔者都会持续更新,望大家持续关注~详情请关注楼主的开源app爱吖校推:,可以fork得到第一手资讯,我后面会把服务器代码也开源出来~
本demo源码地址:
阅读(...) 评论()
写不完的矫情,做不完的开源
优美钢琴曲合集-南尘.mp3                    感谢您阅读我的博客,如果您现在工作、学习累了或者疲惫了,不妨聆听一下音乐,它能够减轻你的疲劳,还能够带给您一种舒适愉悦的心情。(样式取自博客园-欲泪成雪)

我要回帖

更多关于 如何在终端运行py文件 的文章

 

随机推荐