怎么做一个社交app

怎么做一个社交app,第1张

一个人开发一个安卓社交APP不难,如果是业余时间,每天下班回家到12点,这样每天大概4个小时,外加周末每天12个小时,一个月足够了(有经验的条件下)~
AUI设计是否已有?如果有会节约很多时间,没有你估计还得自己PS一下;
B对编程是否有经验?从题主的问题可以看到你对编程估计经验不足;
社交软件分很多种,常用的无非附近人,发发图,拍拍照,修修图,拍拍视频;
下面分别介绍下各种技术:Android+后台,Java Servlet,走>

22点24分准时推送,第一时间送达

编辑:技术君 | 来源:youerning

上一篇:

正文


前言

用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 kotlin 写的居多,但是肯定也是一个很偷懒的选择,而且实在不想学习 Java,再者,就编程而言已经会的就 Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python 写安卓的 APP 的可能性,还真行。

既然要写个APP,那么总得要有个想法吧。其实想做两个APP来着,一个是自己写着好玩的,一个是关于运维的。关于运维的APP,设计应该如下

可能长这样

然后设计应该是这样。

如果觉得可行的话,评论留言一下你觉得应该写进这个APP的运维常用命令吧^_^,笔者暂时想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸过来吧,笔者到时应该也会把这个写成一个项目放到github上,大家一起用嘛,开源才是王道,哈哈。

开发安卓APP

我们使用kivy开发安卓APP,Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。

因为跨平台的,所以只写一遍代码,就可以同时生成安卓及IOS的APP,很酷吧。

本文会带大家写一个Hello world并瞧一瞧 Python 版的2048的代码

kivy安装

环境说明:笔者在用的是Python2710

这里仅介绍windows平台安装

所有平台参考: >

更新pip,setuptools

python -m pip install --upgrade pip wheel setuptools

然后是安装所需要的依赖

python -m pip install docutils pygmentspypiwin32 kivydepssdl2 kivydepsglew \
kivydepsgstreamer --extra-index-url >

值得注意的是,上面的安卓需要访问Google,所以请自备梯子,而且kivydepsgstreamer这个包比较大(95MB),可以单独本地安装,>

然后就是安装kivy了

python -m pip install kivy

至此,安装就已经完毕了,值得注意的是64位系统没有开启虚拟化支持,在导入kivy的时候会报错,如果是64位系统就设置一下机器的BIOS,开启虚拟化支持吧。

注:这里只是kivy的运行环境,这样我就能直接在windows机器上直接调试了,怎么将代码编译成APK文件我们会在后面讲到。

如果kivy在python中应该就能导入了。

按照世界惯例,我们”hello”一下吧。

新建一个py文件

from kivyapp import Appfrom kivyuixbutton importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp()run()

运行

然后会d出一个框,大概如下,点击”hello,kivy”会变颜色

点击窗口并按“F1”会这个窗口的一些属性

然后我们回过头看一看代码。

##导入App,然后让TestApp这个类继承
from kivyapp import App##导入一个Button,运维有这个button,当你点击的时候才会有所反应
from kivyuixbutton
importButton
###定义类,名字必须是xxxAppclass TestApp(App):
###build一个Button
def build(self):
###返回一个Button,文字内容是“Hello,kivy”
return Button(text='Hello,kivy')
##运行,因为继承了App,所以才有的run这个方法TestApp()run()

上面就是我们的Hello了

在windows上运行当然没有什么太大的意义,怎么在安卓手机上运行才是我们想要的,

这时我们需要一个编译环境。

官方说明的环境,如下:

You’ll need:

A linux computer or a virtual machine

Java

Python 27 (not 26)

Jinja2 (python module)

Apache ant

Android SDK

虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要翻出去,所以笔者在这里提供相对而言更加完善的镜像

下载地址:>

注:virtualbox,vmware需自行下载

root密码:kivy

默认使用账户kivy,密码:kivy123

当然你也可以下载官方镜像,因为第一次编译需要去国外下一大堆东西,所以请自行去下载。

Virtual Machine

A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:

Kivy Buildozer VM

Or select the Torrent

在笔者提供的镜像里,桌面上有一个dev_and,只要将上面写的代码,放入这个文件夹即可(当然也可以在其他目录,后面会讲到)。

在公众号Python人工智能技术后台回复“面试”,获取腾讯Python面试题和答案。

cd Desktop/dev_and/

初始化会在当前目录生成一个buildozerspec文件 用于配置生成的apk相关信息

buildozer init

###修改buildozerspec文件

vi buildozerspec

至少修改下面三项

# (str) Title of your applicationtitle = helloworld
# (str) Package namepackagename = helloapp
# (str) Package domain (needed for android/ios packaging)packagedomain = youercom

然后注释

# (str) Application versioning (method 1)#versionregex = __version__ = ['"]()['"]#versionfilename = %(sourcedir)s/mainpy

下面这行改为非注释
version = 120

最后我们生成我们需要的apk文件

buildozer -v android debug

buildozerspec更详细的相关参数配置参考:

>

buildozer命令会在当前文件夹创建一个bin,该文件夹里面有我们想要的apk文件

helloapp-120-debugapk

helloapp-120-debugapk

安装以后是这样:

话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同(vmware或virtualbox)自行扩容吧。

最后我们来瞧瞧简易版Python开发的2048这个游戏的源代码。

代码:

>

先看效果图:

试玩了一下,还是蛮流畅的,有兴趣的可以下载玩一下

下载地址:>

这个游戏代码虽然不长,但是还是蛮占篇幅的,所以简要的说明一下流程。

主要由三部分组成,一是素材,音频之类的文件,二是Python代码,三是kv文件,这个kv文件有点像 html 中的css。

Python代码的文件名一般命名为 mainpy

然后一定有一个叫做 XXXApp 的类,并继承 App。

比如该类叫做GameApp,那么该目录下的kv文件则必须为Game,如上图所示,如果不是,那么kv文件中的一些设定就不会生效。

比如设定一个标签


Label:
id: time
text: 'xxxx'
font_size: 60

id为time,text文本内容为'xxxx',然后字体为60

好吧,点到为止吧,不过似乎什么都没点到~~~

你还有什么想要补充的吗?

你在看吗?一起成长

10月23日,易观“A10数据智能峰会”在北京举办。在这次峰会上,易观升级全新战略以应对“留量时代”的来临,正式公布两大业务线:聚焦数字用户洞察的易观分析,以及专注智能用户运营的易观数科。
在峰会主题论坛环节,用友网络副总裁董波表示,用友32年来,一直专注于企业服务于市场,是信息技术的应用创新。作为这个产业链里面的领头羊,用友同时也是产业链里面距离用户,终端客户最近的一个环节。在这个环节里面,用友既是是开源者、推进者,同时推进整个产业链不断把各个技术、产业都推进进来。
谈到开源商业化问题时,董波表示,今年很多企业都以开源作为技术和先行,商业化方面也是受益方。开源技术可以作为商业开发平台,为更多的企业和用户在这个开放平台上,更加灵活、低代码、无代码去创造自己的商业应用。用友底层采用SAAS和PAAS应用,从而为合作伙伴打造开源平台。未来企业要不然是一个平台型企业,要不然是平台上的企业,用友希望用好开源技术,在商业创新方面作为一个平台服务客户。
董波认为,开源精神能够普惠、可以创造生态,同时也能够赋能给整个开源生态社区。
以下为峰会主题论坛环节文字实录:
主持人:有请易观CTO郭炜、用友董波、平安金管家沈玮、华润置地梁冰。
我们都知道在后疫情时代,现在大家都说被卡脖子的事情。在这个过程里,在座的几位都是行业的佼佼者,想知道每一家企业在信创方面,都在做什么样的储备工作?
郭炜:现在的时候真的是变化非常大。一方面可以看到国内非常多的一些成绩。因为我们的移动互联网运营也好、技术也好、产品也好。其实时远高于哪怕是美国的。背后其实代表的是一种现象。就是国内现在对移动互联网的认知不仅仅是产品和技术,而是对它们的运营、对他们的服务,是远高于像美国这样的发达国家。
对于信创来讲,我觉得有两个方面。
一个是现在因为有这么多的使用场景。那么我们怎么能够用好的技术和产品去服务他们。这一方面,像我当年加入IBM的时候,都是在迎接海外的经验。不过现在不同了,我们的这些场景要远高于美国,所以会酝酿出很多国内的自主知识产权的东西。这些东西我觉得有两个非常重要的点。第一个是,我们在这个时代下,不能够去用不可控的美国的一些商业级的产品。
中国到这个程度,无论是芯片还是软件,我们要有自己的知识产权,我们用自己的智能去主创。这是从技术产品上讲。
第二,从服务运营来讲,刚才沈总也讲了很多。我们其实在现在这个领域里,要有自己知识的积累,要有自己服务的积累。就像当年IBM代入中国的时候,不仅代入的是软件和产品,还有他的运营经营,叫最佳实践。这些优质的服务和良好客户服务精神,这些也是我们现在要做的,也是易观数科要做的,主要我们叫做价值观、客户至上、优质服务、技术领先。这其实是我们在做的事情,这是我的观点和看法。
主持人:非常感谢郭总,同时问一下董总。咱们用友这边,其实在数据化重构这方面做得也是非常先进的,结合这个话题之下,看一下用友这边做怎样的储备?
董波:特别喜欢这个话题,重构。我们和易观在为企业提供云化,基于数据做运营这个领域,今年我们有一个很大的创新。我们也为从大中小不同的客群提供了一个端到端的运营服务支持。从用友来讲,我们是32年一直专注于企业服务市场。信创是信息技术的应用创新。我们作为这个产业链里面的领头羊,同时我们也是产业链里面距离我们的用户,终端客户最近的一个环节。在这个环节里面,用友既是开源者、推进者,同时推进整个产业链不断把各个技术、产业都推进起来,用创新来推动社会进步,这里面,信创本身是一个过程,是目前中国企业发展各个阶段所需要的一个环节。
在过去无线通信一代两代的时候,我们是跟随者,到4G、5G的时候,我们成为全球领跑者,我们通过信创,可以在企业信息化转型领域,成为全球的领跑者,贡献于全球,这是我的一个基本理解。
主持人:非常感谢,刚才杜总也提到,让创新技术推动商业进步。我们公司的使命是创新技术推动社会进步。也想了解一下沈总对平安金管家这么多年,在创新这个板块里面做了哪些事情?
沈玮:刚才两位老总分享很认同,因为我做C端比较久。中国有足够的人验证了一个科学的实践反馈,而每一次接待和每一个想法的验证都有陪着我们玩,这些客户又没有像企业收费,这是一个变化非常好的时代。说回来了平安有哪些技术储备?首先是智能。我们讲人工智能这个领域,如果大家用一下平安金管家和口袋银行都有一个机器人,这个机器人底层是基于一个大量学习。平安金管家主要是保险,问平安保险主要保什么?不管是功能,基于用户大数据积累,包括代理人在讲业的时候面对面讲的时候,可能忘了人生先什么?就会告诉它,原来你面对客户是什么?现在风险是什么?这个就会提出来。
第二个因为疫情影响,这也是好事,这个代理人没有办法面对面从年初跟客户见面,因为太不安全。如果代理人没有办法讲解这种保险理念。我们发明了线上智能客户只是觉得搞专业的人,其实不是一个专业的人,是非常智能的综合体。
主持人:梁冰总继续谈一下,刚才郭总在讲的时候提到,国产ID可以说每个企业重视的一个点,从您的角度看一看,针对开源的软件在国内,包括在海外的运营场景上有什么不同?包括对国内的开源软件,现在的发展机会未来是不是可以走出海外?
梁冰:刚才在分享的时候,入口起初在没有做数字化的时候,包括客流系统都是在做的。那时候在2000年初的时候,包括2010年的时候业务中心大量的复制过程中,很多都会找一些运营方提供机会。这个过程中,但是落地性、延展性和个性化的定制是非常弱的。其次是所有数字化和数字的流量,业务的价值来讲,更多的成长来讲合作方自己身上。大家知道,自己的要求安全性和国有资产的保护上,其实跟外部的外企更多合作中遇到了瓶颈和困境,是不能提供你的开源,而且不在本地化部署,而且也不能做资本的个性化定制。这些年跟易观的合作,包括跟很多风控和资源服务公司来讲,更多是站在我的需求出发合作,我们也环境更多的项目和同行去借鉴我们的业绩。
其实,坦白讲,华润置地在2013年创立这家公司的时候,是在香港地下委员会的创建,很多在国内品牌市场在台湾市场先引进过来,但是内地的数字化能力远远超过这些地区。我们在欧美的购物中心市场上,他们是不会运用小程序直播,在这方面他们是复制国内的市场,在这方面我们有信心,而且有能力在未来消费者升级和变革过程中占有最有利的先机。
主持人:给了我们很多信心,确实在互联网移动时代,我们一直以来都在报道AI、架构等移动数据方面的发展。其实在过去五年内是能够看到国内的技术发展历程和速度是非常快的。另外,刚才大家多次提到开源,关于开源的边界,包括开源进一步的商业化,也想听听各位的见解和想法。
沈玮:大家知道开源项目蛮深的,软件的代码是自己有,我们把这个开源数据之后。举一个例子,名名是一个开源代码,过去如果我们要把一个工具自己公司变成一个适配生,可能需要半年的时间去做这个事情。明年有一个开发者并不是易观的人,带领一个小组,这个小组也不是他公司的人,一起实现这套工具变成人生的工作。这个发现越开放,带来对于公司内部和价值公司里面,其实做出来的这种指数级的增长往往有一家公司做不到,开源对于软件公司来讲是必经之路。
主持人:刚刚都提到每家公司在做开源,都会关注进度商业化。
董波:我非常同意郭炜总的看法,我们在探索的时候也有航空和航天两个领域。从航空来讲,我们可以看到飞行器,在太空来讲更多是探索机制,这凉快是一样的。今年大数据一系列都是以开源作为技术和现行者,从商业软件也是收益方。在开源是技术一方面,我们也在开源作为一个本身,作为商业开发平台也是为更多的企业和用户再一个开放平台上更加灵活、低代码、无代码去创造自己的商业应用。在这一点上,我们底层采用IAAS和PAAS的应用,在这个从而为合作伙伴打造开源平台。未来企业要不然是一个平台型企业,要不然是平台上的企业,我们希望对用好开源技术,在商业创新方面作为一个平台,这是我们对开源的一个来解。
主持人:不管是平台上还是技术上,只要把这个平台做成功,就会让这个开源生态变得更间开一些,也会整个技术发展发展更健康一些。
沈玮:我本人是想拥抱开源的,世界任何的变革都需要大家的共创,而这个计算技术,0101开源源代码就是一个公共IP,软件爱好者在平台科技有这样的组织,有很多底层的技术都用开源大家共同往里扔的。在部署上的梁总来讲得非常对,地产对私有化部署很严格,有监管,有银保监会很多技术企业要求是本地部署,在源代码都有认可。开放可以说在上面申请一个公众号,开放开展不是源代码,而是开放的能力生成自己的能力,有小程序的组建来使用,会再一个安全框架下在应用层面分享。在技术层面更喜欢把非核心运用,比如阅读、小程序请社会一起来参与,这可能是需要不断碰撞的一个过程。
这是我这边的一个情况,进行一个分析。
梁冰:沈总讲得非常好,我在更现实情况下说,最开始说,作为各位资深来讲,我们行业是传统行业。我们讲ERP系统,我们自身是没有能力建立的。我们往往是线下场景的生态,在之中扮演的四大产品风险,会对C端、对智慧增长,会对租户、员工管理会建立数据资产,会员的推送。很多做智能化厂商利用我们的产品也会进行不断的产品迭代,更多用户体验也是对消费体验提升。更多在人工智能尝试,跟公益流量厂商,这都在腾讯、平安、阿里去做区块链授权和认证,这都基于场景使用,这更多是互联无感和延展。
主持人:我自己是非常认同,也借助今天的会议,其实也是号召国内的开发者要支持自己开源产业。咱们国内从去年到今年开源项目非常多,在这个过程中能看到有一些数据库方面,有前端数据支持数据发展。
另外想听听几位,如果用三个词说明一下您心目中的开源精神,会是什么?
郭炜:也不见得准备得好,我脑袋当中反应第一个词就是分享,一定是有分享,今天无论是信息流,我一直YY自己的大脑。如果把新冠病毒定义成无代码,就是还开心。我觉得第一个词是分享。
第二个词应该是无私,如果在每一个开源组建上有任何的地方想封闭一个或者封存一套黑盒子,那就是开源,我想最后就是无疾而终,那是不会发展壮大的东西。
第三个词应该是可以裂变的。当越来越多的开发者参与到这样一个玩法,这样一个组织或者乐趣中,他的这套代码、组建是指数级。我想到是这三个词。
董波:第一个是普惠,包括在华润银行、平安银行合作,我们提供普惠服务。我技术领域,开源是普惠服务。
第二个词是生态。开源作为社区心态来讲,开源就是协作团体。我用友是生财合作,基于技术和开源也在普惠级,也参与SAAS生态服务。
第三个我们作为一个领导企业或者龙头企业,我想做一个责任和使命感,把最好的开源技术也好,商业理念也好,要赋能给整个生态社区,这个责任我们还是要担起来的。
沈玮:第一个是分享,开源讲究是分享,开源高于某一个人,它是一个社区,要把自己越分享,其实自己的成长越大。
第二个是收获,为什么说开源是收获?你会发现,拿自己来讲,我们说过很多世界大咖给我们的点评,其实过去一家公司很难获得,要想世界架构师、工程师去拟程序员的代理。其实你对自我的提高。分享越多,说或越多。
第三个是坚持。开源精神是国内刚刚萌芽,商业也是刚刚开始,在很多地方还有很多的坑坑看看,在这个地方还是坚持走下去,最终跟国外一样拨云见智,遍地开花。
梁冰:我认为要沉淀,把过往所有的努力沉淀。
第二个词是融合,在融合过程求同存异,融合更多的显现常金包括能量。
第三个词是共赢,成就共赢。
主持人:非常感谢,刚才嘉宾因此说了12个关键词,我自己用三个关键词总结一下。第三个分享,第二个是收获和成就,第三个词是未来。
我们圆桌最后一个话题,刚才大家都提到一个现在正进入现状时代,对当前一些互联网从业者有什么样的经验?
郭炜:国内比较典型的企业就是中广核作为国电最大生产制造企业,大概有5100万额度发电量,在中广核平台上,我们在信创领域做了一个全面合作,从技术上我们共同打造了10个数据中台、3个业务数据中台,这是非常成功案例。这里面我们的收获和体验是信创本身,一定要从业务、市场洞察开始。易观是我们的一个领头羊基于这样的市场判断,自己的定位和自己自判断,基于工业10还是40,结合在业界最佳实践共同打造这样一个信创的共绩。
在这样一个过程当中,我们从头部的,从咨询行业开始,再到自身提供企业关键应用,再到信息基础架构等各个环节,我们会形成一个信创的全堆站的过程。通过这样的合作,我们是可以把新创的理念落地离不开自身市场需求导向。
梁冰:说一下我最后的感受,华润当年在置地在商业地产和开发过程中,有一个匠人精神,当时做样板间很多像海尔张瑞敏一样把冰箱砸掉,我们也需要有这样一个精神,只不过我们精神需要快速的迭代。另外在做沉淀过程中我们要敢于实践、接受试错,敢于高地。
董波:分享一下对互联网几点个人建议,互联网有几点建议,互联网研发数据、设置需求在这些岗位里面,我们会发现一个特点。特别是做研发的同学做着做着从研发到产品经理,做着做着也变成产品经理。为什么说产品经理做广告?我想做产品经理的来讲,我觉得最重要的是要有乐趣。今天大会的主题,不断重构自己的认知,对社会的认知,对产品一个设计也好、功能也好,商业逻辑也好,不能按照自己的经验无限重复。如果按照自己的经验无限重复,我觉得那就不是互联网产品经营,就是IT需求经营,这有很大的区别。如果互联网产品经理应该破除无知动经验的感召。
我们地铁很挤,你在地铁上做什么?你在刷头条、抖音、朋友圈,不管做什么,或者在看剧也好,你的心情和感知不是在当下,已经感受不到那个挤或者热,或者某个人碰了你一下,你感知不到,你的注意力在另外一个世界里。做产品就不是这样,我产品设计,那里不好,身体、皮肤感知什么样,对当下越能感知共鸣是什么,货币就能感知到产品经理。
郭炜:纵观国内,中国稍微比其他国家稍微先进的一点地方,因为有4G、5G,有这么多的人口,有很多的应用场景,造就的场景,业务线下场景爆发,这个机遇是百年难得一遇。刚才的杜总也好、沈总也好,梁总也好,对每一个小伙伴选择将近的路线和现在移动互联网相结合深入打造这个场景。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13387913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存