使用了一下Flickr,下面简单的总结一下:
Flickr Feature list


1.上传/下载图片/视频
2.添加/删除/搜索好友(自己人)
3.加入/退出/搜索群组(社群)
4.建立相册(相片集)
5.图片编辑功能(标题,标签,描述,旋转等)还有 在Picnik模式下进行图片编辑(颜色渲染,各种模式套用(很多都是收费的))
6.图片阅读权限设置
7.图片冲印(只限于美国)
8.地图:将图片拖放到地图上,还可以保存地图
9.通过邮箱快速上传图片
10.通过邮箱将图片发送到网站上(wordpress,twitter等)
11.图片不同尺寸查看,并自动生成对应HTML代码,可以用来贴到网页上。
12.发掘:查找感兴趣的内容。
13.图片评论。

Flickr API(需要申请API KEY):
Flickr的API支持的语言种类繁多,常见语言都有支持:比如:C,C#,JAVA,Delphi,.Net.Perl,Perl,PHP,Python,Ruby等,但都是非官方支持。
1.API文档地址:
http://www.flickr.com/services/
http://www.flickr.com/services/api/

2.JAVA API(非官方)
a)jickr:https://jickr.dev.java.net/servlets/ProjectDocumentList;jsessionid=AEB5B1599DDF544867E26019833C972E (已停止更新)
b)flickj:http://sourceforge.net/projects/flickrj/ (纯JAVA API,功能比较全,如果要开发,推荐用这个API)

Recommended feature set for android
1.上传/下载图片/视频
2.添加/删除/搜索好友(自己人)
3.加入/退出/搜索群组(社群)
4.建立相册(相片集)
5.图片编辑功能(标题,标签,描述),其它像旋转等功能在android实现应该会有困难。
6.图片阅读权限设置
9.通过邮箱快速上传图片
10.通过邮箱将图片发送到网站上(wordpress,twitter等)
13.图片评论。

Android 客户端:
1.当前还没看到有官方的Android客户端。
2.PhotoStream Stream(Google),从2008年10月份,就没有再更新过,代码可以用来参考。

可以浏览你曾经上传的照片。
http://code.google.com/p/apps-for-android/

相关介绍:http://www.cnpda.com.cn/thread-157350-1-4.html

Flickr相关软件介绍:
http://daxu.net/archives/460.html

附:
1.写了一个脚本用来测试 Flickr API,只实现了一部分API。
代码在:http://github.com/pjq/FlickrShell/tree/master
ps.实现了给blog发送文章的功能
2.下载Flickrj API 源代码的脚本。
默认http://sourceforge.net/projects/flickrj/ 只能下载已经打包好的jar文件。
脚本写得比较烂,手动深入了两级目录,什么时候你看到了dir3.list有东西了,就说明已经有3级目录了
,这时就需要手动进行扩充了。
代码也在:http://github.com/pjq/FlickrShell/tree/master目录下:getFlickrj.java

pjq@gentoo-pjq ~/flickr/flickr $ cat getFlickrj.sh
#########################################################################
# Author: pengjianqing@gmail.com
# Created Time: Thu 06 Aug 2009 07:34:57 PM CST
# File Name: getFlickr.sh
# Description:Welcome to visit:www.impjq.net for more information.
#This shell is used to get the flickrj java source code.
#flickrj is the flickr API of JAVA implementation.
#More information please visit:www.impjq.net
#########################################################################

#Download Base URL
#http://flickrj.cvs.sourceforge.net/viewvc/*checkout*/flickrj/api/src/com/aetrion/flickr/REST.java

#activity dir URL
#http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/activity/?hideattic=1&pathrev=MAIN

TEMP=./temp
OUTDIR=./src/com/aetrion/flickr
JAVALIST=${TEMP}/java.list

[ -e "${TEMP}" ] || { echo "mkdir ${TEMP}"; mkdir ${TEMP}; }

getJavaList()
{
echo "Get main.html"
w3m -no-cookie "http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/?hideattic=1&pathrev=MAIN">${TEMP}/main

#Get the main dir list
echo "Get dir list"
cat ${TEMP}/main|grep "^●"|cut -b -33|grep "/ "|sed 's/● //g'|sed 's/\///g' >${TEMP}/dir.list

#Get the Javalist in the root dir:
echo "Get java list in the root dir"
grep java ${TEMP}/main|grep ".java"|cut -b -33|grep java|sed 's/● //g'|cut -d " " -f1 >${JAVALIST}

echo "do For "
for DIR in `cat ${TEMP}/dir.list`:
do
echo "DIR=${DIR}"
[ -e ${OUTDIR}/${DIR} ] || { echo "mkdir -p ${OUTDIR}/${DIR}";mkdir -p ${OUTDIR}/${DIR}; }
w3m -no-cookie "http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/${DIR}?hideattic=1&pathrev=MAIN" >${TEMP}/${DIR}
cat ${TEMP}/${DIR}|grep "^●"|cut -b -33|grep "/ "|sed 's/● //g'|sed 's/\///g' >${TEMP}/dir2.list

grep java ${TEMP}/${DIR}|grep ".java"|cut -b -33|grep java|sed 's/● //g'|cut -d " " -f1|sed 's/^/'${DIR}'\//g' >>${JAVALIST}

echo "cat ${TEMP}/dir2.list"
cat ${TEMP}/dir2.list

for DIR2 in `cat ${TEMP}/dir2.list`:
do
[ "${DIR2}" = ":" ] && continue
echo "DIR2=${DIR}/${DIR2}"
[ -e ${OUTDIR}/${DIR}/${DIR2} ] || { echo "mkdir -p ${OUTDIR}/${DIR}/${DIR2}";mkdir -p ${OUTDIR}/${DIR}/${DIR2}; }
TEMPDIR="${DIR}\/${DIR2}\/"
echo TEMPDIR=${TEMPDIR}
w3m -no-cookie "http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/${DIR}/${DIR2}?hideattic=1&pathrev=MAIN" >${TEMP}/${DIR2}
cat ${TEMP}/${DIR2}|grep "^●"|cut -b -33|grep "/ "|sed 's/● //g'|sed 's/\///g' >>${TEMP}/dir3.list

grep java ${TEMP}/${DIR2}|grep ".java"|cut -b -33|grep java|sed 's/● //g'|cut -d " " -f1|sed 's/^/'${TEMPDIR}'/g' >>${JAVALIST}

done
done
}

getJavaFile(%2

Flickr学习总结